我有以下用于获取正确时间并用于我的网站的功能。不幸的是,它不检查夏令时并导致时间错误。我想知道是否有人有可能的解决方案或帮助我解决我的问题?
我对 PHP 编码非常陌生,并且仍然在使用它。如果有人能够帮助我用一种方法让它在未来自动切换,那将非常有帮助。
这是功能:
function getDSTDifference() {
$timezone = date_default_timezone_get();
$newTZ = new DateTimeZone($timezone);
$trans = $newTZ->getTransitions();
$offset = $trans[0]['offset'] /60 /60;
return $offeset;
}
- -编辑 - -
为了更好地澄清我想说的:
我有一个监控通话时间的网站。在 DST 和常规时间之间切换(反之亦然)期间,这些呼叫时间会减少一个小时。例如,上周末导致时间显示如下:-57:01:23
. 而不是拥有它的功能 - 每次 DST 和常规时间切换时我都必须手动进入并取消注释/注释掉两行代码,是否有可能的解决方案使该功能能够做到这是自动的?有点像一个更永久的解决方案。对我来说,必须不断地重新访问该功能以一遍又一遍地进行看似简单的更改,这似乎是多余的编码。同样,我之前没有用 PHP 代码做很多工作,因此我不熟悉可以使用的内置函数,或者我是否必须自己创建它。如果有人对此有一些信息/帮助,将不胜感激。
function getDSTDifference() {
$timezone = date_default_timezone_get();
$NewTZ = new DateTimeZone($timezone);
$transition = $NewTZ->getTransitions();
$offset = $transition[0]['offset'] /60 /60;
//The following two lines need to be commented out when it is
//daylight savings time
//They need to be uncommented when Daylight Savings Time ends
$dst = $transition[0]['isdst'];
$offset = $offset - $dst;
return $offset;
}
希望这更有意义!在此先感谢您的帮助!