2

以前の開発者から新しいシステムの開発を引き継いだばかりで、正直言ってめちゃくちゃです。

すべての日記項目は 1 時間進んでおり、保存形式は 135538​​5600 です。時間に関係するフィールドは start_time と end_time です。

データベース内のすべてのエントリを一括更新し、それらから 1 時間を削除する方法が必要です。

どうすればこれを達成できるかについてのアイデアはありますか?

乾杯

注:デフォルトのタイムゾーンは「ヨーロッパ/ロンドン」に正しく設定されており、新しいダイアリー エントリを追加すると時刻が正確になることを言及しておく必要がありました。ただし、データベース内の現在のすべてのエントリを一括更新して 1 時間前に戻す方法を見つける必要があります。これは可能ですか?

4

2 に答える 2

0

フィールドを更新して 1 時間を追加するだけです

UPDATE
    yourtable
SET
    start_time = start_time - 3600,
    end_time = end_time - 3600
WHERE
    start_time <= max time prior timezone fix

編集:もちろん減算を意味します

于 2013-04-20T13:28:50.580 に答える
0

タイムゾーンを設定する必要があります。

私のサイトでは、タイムゾーンを で設定date_default_timezone_set('Europe/Berlin')し、データベースに日時を挿入するときに を使用しますdate('Y/m/d H:i:s')

あなたにとっては、の代わりにdate('Y/m/d H:i:s')strtotime(date('Y/m/d H:i:s'))

于 2013-04-20T10:53:39.110 に答える