私はバニラPHPで書かれた古代のシステムに取り組んでいます。PHPのタイムスタンプが遅い
時間の変換に問題があります。以下の例では
は、私は、タイムスタンプと「きれい日」の両方が互いを反映するために期待します。サーバー上でこのスクリプトを実行するとき
<?php
date_default_timezone_set('Europe/London');
$timestamp = 1509062400; //Friday, October 27, 2017 12:00:00 AM
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/London'));
$date->setTimestamp($timestamp + 3601);
$date->setTime(0, 0);
echo $date->getTimestamp();
echo '<br/>';
echo $date->format('Y-m-d H:i:s');
しかし、結果は以下の通りである。
Timestamp: 1509058800
Pretty Date: 2017-10-27 00:00:00
可愛い日付は27日10:00 00:00を表しますが、タイムスタンプ(epochconvertorによる)は26日10月23日を表します。
なぜタイムスタンプが1時間遅いのかわかりません。誰も助けることができますか?
'setTime(0、0)'は時刻を '00:00:00'に設定します。 – Barmar
これはまさに私が欲しいものです...? – James
'$ date-> setTimestamp($ timestamp + 3601);の目的は次の行が完全に上書きするかどうかです。 – ceejayoz