のstrtotimeは1970-01-01(UTC)から計算されている異なるタイムゾーンを使用しており、日付は私のタイムゾーンを使用している、すなわちアメリカ/ニューヨーク 簡単な例:のPHPのstrtotime関数と日付関数は
:タイムスタンプが0である
var_dump(date('Y-m-d h:i:s', 0));
プリント:それは0を返すべき1969-12-31 07:00:00
、それは
var_dump(strtotime('1969-12-31 07:00:00'));
-43200
を返します。
今、明らかに、私は
strtotime($date . ' -5')
すなわち日付にタイムゾーンを追加することができ、それが動作すると思います。
しかし、私はどこでもstrtotime
関数を使用しています。
私は_$ENV['TZ']
とdate_timestamp_get()
で試してみました。 しかし、私はそれらを同期することはできません。
私はまた、php.iniのdate.timezoneをAmerica/New_Yorkに変更しました。
最後に、date_timestamp_set('UTC')
を使用してタイムゾーンを強制すると、正常に動作し、両方の日付が同期されます。しかし、私はサーバーからのタイムゾーンが必要です。
教えてください、私はアイデア日付で
ここで問題が発生しているところで少し混乱します。あなたは正確に何をしようとしていますか?すべてをUTCに設定しようとしていますか? – wajiw