1

ロシア語で日付を表示するために setlocale を使用しています。

setlocale(LC_TIME, 'ru_RU');

私の質問は、ru_RU で十分でしょうか、それとも多くの代替言語パラメーターを提供する方が安全でしょうか?

4

2 に答える 2

1

ええと、ロシア語の日付が必要な場合は、時間関連の関数のロケールを に設定したru_RUので、基本的にはそれだけです。

が利用できないLC_TIME場合に備えて、現在のロケールを の 2 番目の選択肢として設定することをお勧めします。ru_RU

setlocale(LC_TIME, 'ru_RU', setlocale(LC_TIME, '0'));
// setlocale() with '0' will return the current settings without applying changes.

現在のロケール設定はシステム管理者によって設定されたものであり、使用できなくなる可能性はほとんどありません。

于 2013-07-18T11:20:49.933 に答える
0

setlocale()は多くのことに影響を与えますが、それらがあなたのニーズを満たしている場合は、自分で答えなければなりません。

2つのパラメーターがありますsetlocale ( int $category , array $locale )

$ategory( manualから) 次の定数のいずれかに設定できます。

  • 以下のすべての場合は LC_ALL
  • 文字列比較のための LC_COLLATE。strcoll() を参照してください。
  • strtoupper() など、文字の分類と変換のための LC_CTYPE
  • localeconv() の LC_MONETARY
  • 小数点の LC_NUMERIC (localeconv() も参照)
  • strftime() で日付と時刻をフォーマットするための LC_TIME
  • システム応答用の LC_MESSAGES (PHP が libintl でコンパイルされている場合に使用可能)

マニュアルからのこの引用も見てください:

新しい現在のロケールを返します。プラットフォームにロケール機能が実装されていない場合、指定されたロケールが存在しない場合、またはカテゴリ名が無効な場合は FALSE を返します。

于 2013-07-18T11:18:33.003 に答える