您知道我们可以使用date()
秒数。例如date('H:i:s', 3652)
。
但如果我为日期设置时区,它会返回错误的字符串:
date('H:i:s', 1); // it should returns '00:00:01'
date_default_timezone_set('Europe/Rome');
date('H:i:s', 1); // it returns '01:00:01'. 3600s plus!
我该如何解决?
答案 0 :(得分:0)
欧洲/罗马时区是GMT + 1。它将在大纪元(比GMT提前一小时)回归罗马的时间,所以这是正确的。
答案 1 :(得分:0)
我找到了解决方案!
date_default_timezone_set('Europe/Rome');
$offset = date('Z');
date('H:i:s', 1 - $offset); // it returns '00:00:01' now.
根本就像Crashspeeder所说的那样,将秒转换为小时,分钟,秒的功能更好。因为它支持的秒数超过86400。