我正在将 PHP 时间戳转换为 javascript 中人类可读的形式:
<script type="text/javascript">
var timeleft = new Date( <?php echo $lefttime; ?> * 1000 );
var hours = timeleft.getHours();
var minutes = timeleft.getMinutes();
var seconds = timeleft.getSeconds();
var countdown = function() {
console.log( "You have " + hours + ":" + minutes + ":" + seconds + " seconds left" );
</script>
分钟和秒有效,但我在几个小时内得到了奇怪的结果。例如:
时间戳:1976
函数返回:19:32:56
有什么想法为什么我从 .getHours()
得到“19”吗?
最佳答案
我大胆猜测一下您现在处于东部时间。您看到的是纪元之后的 $lefttime
秒,在 EST 中是晚上 7 点。
要解决这个问题,只需使用基本数学:
var timeleft = <?php echo $lefttime; ?>;
var hours = Math.floor(timeleft/3600);
var minutes = Math.floor(timeleft/60)%60;
var seconds = timeleft%60;
关于php - Javascript .getHours() 返回奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658598/