我正在将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”的任何想法?
答案 0 :(得分:5)
我打算猜测你是在东部时间。你所看到的是在纪元后$lefttime
秒,在美国东部时间是晚上7点。
要修复它,只需使用基本数学:
var timeleft = <?php echo $lefttime; ?>;
var hours = Math.floor(timeleft/3600);
var minutes = Math.floor(timeleft/60)%60;
var seconds = timeleft%60;