我试图做一个简单的倒计时,但它给出了错误的时间:
$time_seconds_view = strtotime('tomorrow') - time(); echo date("H" . " \h\o\u\\r\s\, " . "i" . " \m\i\\n\u\\t\\e\s\, \a\\n\d " . "s" . " \s\\e\c\o\\n\d\s", $time_seconds_view);
吐出00 hours, 30 minutes, and 00 seconds
即使date_default_timezone_set($this->session->userdata('timezone'));
设置为America/Phoenix
它应该吐出07 hours, 30 minutes, and 00 seconds
好像PHP没有考虑到我已经更改了默认时区。
我做错了什么?谢谢你的帮助!
答案 0 :(得分:0)
使用DateTime。这对日期数学来说要好得多。
$tomorrow = new DateTime('tomorrow');
$now = new DateTime();
$diff = $tomorrow->diff($now);
echo $diff->format("%h hours, %i minutes, %s seconds");
// 7 hours, 12 minutes, 53 seconds