0

PHPdate()のドキュメントを見ていると'I'、提供された日付が DST であるかどうかがわかると思いました。だから私は次のことを期待していました:

$d = strtotime('2012-07-01 12:30:00, Europe/London'); // this is in DST
$bool = date('I',$d); // 1

しかし、これを得ました:

$bool = date('I',$d); // 0

明らかに、私はドキュメントを間違って読んでいます。dateTimeZone()トランジションを使用してこれを行うことができることは知っていますが、これはdate()同様の機能ではありませんか?

4

1 に答える 1

3

あなたがそうするとき、あなたはstrtotime整数を得る。タイムゾーン、DSTなどのすべての情報を失い、整数を取得するだけです。http://php.net/manual/en/function.strtotime.phpを参照してください

この種の情報を処理する場合は、DateTimeクラスと関数を使用する必要があります:http: //php.net/manual/en/class.datetime.php

可能ですが、使用したほうがよいと思います。DateTime現在のタイムゾーンを、次の情報が必要な場所に設定してください。

date_default_timezone_set('UTC');

date()マニュアルから、例1:http ://www.php.net/manual/en/function.date.php )

于 2012-06-14T11:20:11.600 に答える