我正在尝试创建一个javascript倒数计时器;
我的字符串格式为YYYY-MM-DD HH:MM:SS。
这可能是将来长达6个月的任何时间。
从现在到未来的时间,从几秒钟开始计算剩余时间的最佳方法是什么。这可以用PHP实现。
提前致谢!
答案 0 :(得分:1)
你是如何得到这个基于字符串的时间戳的? unix时间戳实际上已经是“自1970-01-01 00:00:00以来的秒数”。这看起来像是一个原生的MySQL日期字符串。
如果它来自MySQL,您可以将其转换为带有UNIX_TIMESTAMP()
的unix样式时间戳,例如
SELECT unix_timestamp(datetimefield) ...
然后将其转换为Javascript时间戳乘以1000(JS时间戳具有相同的纪元,但以毫秒为单位)。
如果你被困在PHP中,你可以快速使用
$timestamp = strtotime($time_string);
$js_timestamp = $timestamp * 1000;
答案 1 :(得分:1)
在PHP中,您可以使用strtotime
,它接受日期的字符串表示并返回unix时间戳。
然后使用microtime
获取当前的unix时间戳,并找出差异。这将是剩余的毫秒数,因此将其除以1000以在几秒钟内得到它。
http://php.net/manual/en/function.strtotime.php
http://php.net/manual/en/function.microtime.php
这应该有效:
$currentTime = explode(" ", microtime());
$currentTime = $currentTime[1];
$futureTime = strtotime("YYYY-MM-DD HH:MM:SS"); // insert your date here
$timeRemaining = ($futureTime - $currentTime) / 1000;