0

以下を使用して日付を保存する Web アプリケーションを作成しました。

$event->date = mktime(0, 0, 0, $month, $day, $year);

ここで、$month、$day、$year はドロップダウン セレクター、つまり整数値に由来します。そのため、ユーザーが選択した日の午前 0 時で表される日付を保存していました。

今週末はサマータイムが実施され、最後にクロックが変更されてから追加されたすべてのイベントがdate('D jS M Y' ,$event->date)前日として表示されるようになりました。

私の質問は 2 つあります。

  • データベース内の現在の日付を修正して、正しい日付として出力されるようにするにはどうすればよいですか? 一度に DB 内のすべての時間に 1 時間を追加する必要がありますか?

  • この時点から先の日付をどのように保存すればよいですか? このように真夜中に 1 時間を追加する必要がありますか?$event->date = mktime(1, 0, 0, $month, $day, $year);

4

1 に答える 1

0

1) SQL クエリを使用してタイムスタンプを更新します。2) 常に UTC 時間またはエポックを使用し、クライアントの要求に応じてオンザフライでロケール変換を行う必要があります。日付をロケールフリーにすることができます。

于 2012-10-30T16:46:36.490 に答える