7

PHPdate("I")は、現在の日付が夏時間であるかどうかに応じて、0または1のいずれかを返します。ただし、将来または過去の指定された日時に0または1を返すには、この正確な関数が必要です。

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

4

1 に答える 1

14

次のように、将来の日付のタイムスタンプを渡すだけです。

is_daylight_saving = date("I", future_timestamp);

PHPdate()のドキュメントを参照してください

****** 編集:******

夏時間情報を適切に取得するには、デフォルトのロケールが夏時間を使用している国に設定されていることを確認する必要があります。夏時間を使用している国のリストは、ここにあります。

デフォルトのタイムゾーンを変更するには、次のように使用date_default_timezone()します。

date_default_timezone_set('Europe/Rome'); // Italy uses daylight saving
echo date("I", 1366456706); // will return 1

date_default_timezone_set('America/Argentina/Buenos_Aires'); // Argentina doesn't use daylight saving
echo date("I", 1366456706);  // will return 0
于 2013-01-20T09:58:05.690 に答える