var php = '19-07-2012 03:00:00'.split('-');
var phpDate = php[1]+'/'+php[0]+'/'+php[2];
var phpTime = new Date(phpDate).getTime();
var currTime = new Date().getTime();
var difference= phpTime-currTime;
var leftMin = Math.ceil( difference/(1000*60) );
$('#test').text(leftMin+' MINUTES LEFT!');
代码说明:
为了获得剩余时间,我对从 1970 年 1 月 1 日开始的php
返回时间(以毫秒为单位)和从 1970 年 1 月 1 日开始
的当前时间进行了毫秒比较ms
——减去这两个值并得到毫秒差。为了计算我刚刚完成的分钟差异:
var leftMin = Math.ceil( difference/(1000*60) );
诀窍是获得正确的时间格式并将您的(php)返回时间也恢复为该格式。
默认格式如下所示:MONTH/DAY/YEAR HOURS:MINUTES:SECONDS
要将 php 返回的时间转换为该时间'19-07-2012 03:00:00'
,我使用了:
var php = '19-07-2012 03:00:00'.split('-'); // split in array fractions
var phpDate = php[1]+'/'+php[0]+'/'+php[2]; // reposition array keys and add '/'
返回:07/19/2012 03:00:00
现在我们可以将其与当前时间进行比较,例如:
07/19/2012 03:45:21
ms
要从转换后的 php 时间中检索,我们可以使用:
var phpTime = new Date(phpDate).getTime(); // get "ms from our string
目前我们只需要:
var currTime = new Date().getTime(); // get "ms from 1/1/1970
现在有了我们的两毫秒值,我们可以简单地将它们减去以获得剩余时间:
var difference= phpTime-currTime;