如何将未来的Unix时间戳更改为剩余的秒数

时间:2012-01-12 19:32:05

标签: php time

我正在尝试创建一个javascript倒数计时器;

我的字符串格式为YYYY-MM-DD HH:MM:SS。

这可能是将来长达6个月的任何时间。

从现在到未来的时间,从几秒钟开始计算剩余时间的最佳方法是什么。这可以用PHP实现。

提前致谢!

2 个答案:

答案 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;