1

簡単な質問ですが、次の日付/時刻変数を編集して時間の 5 を PLUS(+) にするにはどうすればよいでしょうか。現時点では米国時間なので、すべてを英国時間に変換する必要があります。

$tme = date('H:i : d F Y');

何か案は...?

4

5 に答える 5

6

オブジェクトを使用DateTimeすると、より堅牢になり、頭痛の種が少なくなります。

$time = new DateTime("now", new DateTimeZone("America/New_York"));
$time->setTimezone(new DateTimeZone("Europe/London"));

echo $time->format("H:i:s Y-m-d");

また、これを使用すると、何らかの計算を行うことなく、タイムゾーンに関連する奇妙なこと (タイムゾーンが異なる日付で変更される、年に依存するものなど) を処理できることに注意してください。DateTimeZone オブジェクトがそれを行います:-)

于 2012-08-22T13:07:02.273 に答える
1

date_default_timezone_set 関数を使用する

date_default_timezone_set('Europe/London');
于 2012-08-22T13:07:21.423 に答える
1

これをページの上部に追加します。

date_default_timezone_set('Europe/London');
于 2012-08-22T13:07:07.797 に答える
0
$tme = date('H:i : d F Y', time() + 60*5);

しかし、 DateTime オブジェクトに興味があるかもしれません

または使用してタイムゾーンを変更します

date_default_timezone_set('Europe/London');
于 2012-08-22T13:07:25.170 に答える
0

代わりにDateTimeandを使用します。DateTimeZone

// U.S. timezone (EST)
$tme = new DateTime('now', new DateTimeZone('America/New_York'));
echo $tme->format('H:i : d F Y');

// U.K. timezone
$tme->setTimeZone(new DateTimeZone('Europe/London'));
echo $tme->format('H:i : d F Y');
于 2012-08-22T13:07:52.970 に答える