【发布时间】:2020-06-08 12:29:12
【问题描述】:
我正在创建一个简单的倒数计时器,它从两个日期中获取差异并输出如下:01 天 23 小时 59 分钟
在 PHP 中:
$this_is_old_date = 2020-06-08 13:52:18; // let's take it as tody date
$old_date = DateTime::createFromFormat('Y-m-d H:i:s', $this_is_old_date);
$expire = clone $old_date;
$expire->add(new DateInterval('P2D')); // add two days from today date
$exp = $expire->format('Y-m-d H:i:s');
一切正常
在javascript中:
function getTimeRemaining(expire) {
var t = Date.parse(expire) - Date.parse(new Date());
var seconds = Math.floor((t / 1000) % 60);
var minutes = Math.floor((t / 1000 / 60) % 60);
var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
var days = Math.floor(t / (1000 * 60 * 60 * 24));
return {
'total': t,
'days': days,
'hours': hours,
'minutes': minutes,
'seconds': seconds
};
}
var expire = "<?php echo $exp; ?>";
getTimeRemaining(expire);
当我调用这个函数 getTimeRemaining(expire) 它以 1 天 20 小时 30 分钟 开头,但我的预期时间是 01 天 23 小时 59 分钟 如何解决它?
提前致谢:)
【问题讨论】:
-
expire创建日期的来源是什么?返回值的 3,5h 差异似乎可能存在时区问题(例如:您的本地与服务器/数据库/其他客户端)。 -
过期日期来自 $exp 变量 (var expire = "";)。
-
您的问题是关于格式(开头缺少 0)还是 3 小时的差异?
-
我关于 3 小时差异的问题
-
@karthik 是的,我可以看到,对不起,心理捷径...
$this_is_old_date来自哪里?
标签: javascript php datetime