PHP では、IntCalendar が間違ったロケールを出力します。
P粉553428780
P粉553428780 2023-07-28 12:49:22
0
2
615
<p>次のコードがあります。これはロケールとして fr_FR を出力するはずですが、何らかの理由で (タイムゾーンに関係なく) en_US_POSIX を出力します。私が何を間違えたのでしょうか? </p> <pre class="brush:php;toolbar:false;">$loc = IntlCalendar::createInstance(new DateTimeZone('ヨーロッパ/パリ')); echo $loc->getLocale(Locale::VALID_LOCALE);</pre> <p>参考リンク: https://www.php.net/manual/en/intlcalendar.createinstance.php および https://www.php.net/manual/en/intlcalendar.getlocale.php<br /> ;<br />これは正しいアプローチではないようです (コードは有効ですが) - 特定のタイムゾーンの「デフォルト」ロケールを見つけるためのより適切な方法はありますか? </p>


P粉553428780
P粉553428780

全員に返信(2)
P粉464088437

タイムゾーンをパリのタイムゾーンに設定しました。しかし、ロケールを設定していませんでした。それらは異なるものです。ロケールは言語と書式設定規則を定義し、タイム ゾーンは UTC を現地時間に変換し、またその逆に戻すためのルールを設定します。あなたの定義はパリにいるアメリカ人にも当てはまります。これは、特に 8 月に有効な使用例です。

次のコードを試してください:


リーリー
いいねを押す +0
P粉054616867

まず、特定のタイムゾーンから関連する国 (および国コード) を取得します。

リーリー

次に、この情報を ICU ライブラリで利用可能なリソースと組み合わせて、特定の国コードに最も可能性の高い言語を取得できます。

リーリー

これはすべてのユーザーに適用されるわけではないことに注意してください。これはデフォルトの開始点として適していますが、常にユーザーに言語の好みを尋ねる必要があります。

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート