'LC_ALL=fr_FR.UTF-8 日付 +%x' は複数のコンピュータで一貫した結果を提供する必要がありますか?

'LC_ALL=fr_FR.UTF-8 日付 +%x' は複数のコンピュータで一貫した結果を提供する必要がありますか?

マニュアルページによると、ユーティリティの書式指定子はロケール固有の日付書式を使用する必要があります%xdateただし、同じインストール ロケールを指定して 2 つの異なるコンピュータで試してみると、各コンピュータに異なる形式が表示されます。

マシン「A」から:

$ locale -a | grep fr_FR
fr_FR
fr_FR.ISO8859-1
fr_FR.ISO8859-15
fr_FR.UTF-8
$ LC_ALL=fr_FR.UTF-8 date +%x
31.05.2012

マシン「B」から:

$ locale -a | grep fr_FR
fr_FR.utf8
$ LC_ALL=fr_FR.UTF-8 date +%x
31/05/2012

私は見ましたhttp://demo.icu-project.org/icu-bin/locexp?d_=en&_=fr_FR、「短い日付」部分は機械「B」がここにあるように見えます。それとも私が何かを誤解しているのでしょうか?実際、ロケールは日付形式を絶対に指定せず、これらのバリエーションは実装全体にわたって発生しますか?

編集:うーん..受信者はいません...マシン「A」がOS X Lionで、マシン「B」がUbuntu 12.04と言えばもっと面白いでしょう。どちらも正しい国際化を持つと合理的に予想できます/興味深いですか?ローカライズ設定?

答え1

ロケールは実装によって異なります。ほとんどの最新のユニスはとをxx_YY使用しますxx_YY.charsetが、ロケール名も保証されません。ロケール設定を除いてC、他のコンピュータで同じ結果が得られるとは限りませんPOSIX


フランス人として、私はBが正しいとAが間違っていると言いたいと思います。フランスでは日付をドットで区切らない。 (他のフランス語圏の国でも使用できます。おそらくfr_CHそうです。)

関連情報