3

さまざまな国 (さまざまなタイムゾーン) の店舗のリストを掲載したサイトがあり、営業時間によって店舗が開いているか閉じているときに表示されるはずです。

夏時間が設定されていない場合に DEFAULT タイムゾーン GMT オフセットを取得する JavaScript があり、それを mysql 内に配置すると、その部分が正しく機能します。

私のタイムゾーンは GMT+1 です (現在は夏時間が有効になっているため、現在は +1 時間です)

私はこれを使用してゾーンを変更するためにphpを使用します:

date_default_timezone_set('Etc/GMT+1');
echo date('h');

ここでの時間: 午後 10 時

GMT 時間: 午後 8 時

そして、このコードの戻り値: 午後 7 時

つまり、代わりに1ずつ増加し、減少し、さらに夏時間はありません...

誰かがここで何が起こっているか教えてもらえますか? それはPHPのバグですか、それともサーバーに何か問題がありますか?

ありがとうございました...

4

2 に答える 2

2

最近似たような問題があったので、私は現在笑っています。残念ながら、Etc/GMT タイムゾーンは非推奨です。彼らは壊れます。個人的なおすすめは?HH:MM を使用するか、都市ごとに設定してください (都市は夏時間の調整を必要としません!)。

于 2011-06-23T20:22:48.103 に答える
0

おそらく date('I') がこの状況で役立つかもしれません。
ルックアップ リスト [GMT オフセット] - [タイム ゾーン名] を定義するオプションがない場合。その後、DateTime\DateTimeZone クラスを使用してタイム ゾーンを調整できます。

于 2011-06-23T21:19:31.863 に答える