我正在尝试创建一个javascript倒计时计时器;
我有一个格式为YYYY-MM-DD HH:MM:SS的字符串。
这可能是未来6个月内的任何时间。
从现在到未来,获得剩余时间(以秒为单位)的最佳方法是什么。这可以在PHP中实现。
提前感谢!
在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;
如何获得这个基于字符串的时间戳?unix时间戳实际上已经是"自1970-01-01 00:00:00以来的秒数"。这看起来像是一个本地MySQL日期字符串。
如果它来自MySQL,您可以使用UNIX_TIMESTAMP()
将其转换为unix风格的时间戳,例如
SELECT unix_timestamp(datetimefield) ...
然后乘以1000将其转换为Javascript时间戳(JS时间戳具有相同的epoch,但以毫秒为单位)。
如果你被困在PHP中,你可以使用快速/肮脏
$timestamp = strtotime($time_string);
$js_timestamp = $timestamp * 1000;