bigint
2013 年 8 月 11 日 - 午後 11 時 55 分 (EST TIME) の日付の列タイプを使用して、MySQL に値を保存しました。
bigint
これは、 value の列にUNIX 時間として保存されます。1376279700
1970 jan 01,01 00:00:00
これは秒単位のエポック時間であることを理解しています。したがって、任意のタイムゾーンを使用して DateTime を初期化すると、08/11/2013 - 11:55 PM
(および初期化時に使用されたタイムゾーンが何であれ)生成されるはずであると想定しました。
しかし、次のコードが与えられます:
$time1 = new DateTime("@1376279700");
$time1->setTimezone("Europe/London");
echo "Created Europe/London - ".$time1->format(DateTime::RFC822);
と
$time2 = new DateTime("@1376279700");
$time2->setTimezone("America/New_York");
echo "Created America/New_York - ".$time2->format(DateTime::RFC822);
私はこれらの値を取得します:
作成: ヨーロッパ/ロンドン - 月、12 8 月 13 04:55:00 +0100
と
作成: America/New_York - Sun, 11 Aug 13 23:55:00 -0400
タイムゾーンはEurope/London
自動調整され、どういうわけか魔法のように1376279700
EST タイムゾーンを使用して作成されたことを認識します。
私はここで非常に混乱しています。ここに光を当ててください。08/11/2013 11:55 PM
イベントの開始日 ( ) がユーザーのタイムゾーンで使用されるタイムゾーン対応関数を作成しようとしています。