このスクリプトは印刷する必要があります
3600
7200
しかし、それは印刷します
3600
3600
どうして?私の知る限り、phpは夏時間をサポートしています。
date_default_timezone_set("Europe/Berlin");
$date1 = new DateTime();
$date1->setDate(2019,1,1); // winter time
$date1->setTime(0,0,0,0);
$date2 = new DateTime();
$date2->setDate(2019,6,1); // summer time
$date2->setTime(0,0,0,0);
$ref = new DateTime("now", new DateTimeZone("UTC"));
echo $date1->getTimeZone()->getOffset($ref);
echo "\n";
echo $date2->getTimeZone()->getOffset($ref);
echo "\n";
あなたの$ref
変数は「今」を表しています。ではecho
文、あなたが合格$ref
にgetOffset
それが今のようにオフセット電流を得ているので、。代わりに、$date1
またはを渡し$date2
ます。
echo $date1->getTimeZone()->getOffset($date1);
echo "\n";
echo $date2->getTimeZone()->getOffset($date2);
echo "\n";
または、さらに良いことに、getOffset()
直接電話してください。
echo $date1->getOffset();
echo "\n";
echo $date2->getOffset();
echo "\n";
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加