如何检查时间戳是否超过3小时?
我有一个时间戳,格式如下:
15.03.2011 18:42
如何编写下面的函数?
function isMoreThan3HoursOld(timestamp) {
// parse the timestamp
// compare with now (yes, client side time is ok)
// return true if the timestamp is more than 3 hours old
}
(我需要经常这样做,这是在一个大约有500个时间戳的表上(50行,10列带有时间戳))
对
Larsi
应该自我解释:
var nowMinus3h = new Date,
dateToTest = new Date('2011/03/15 18:42');
nowMinus3h.setMinutes(nowMinus3h.getMinutes()-180); //=> now minus 180 minutes
// now the difference between the dateToTest and 3 hours ago can be calculated:
var diffMinutes = Math.round( (dateToTest - nowMinus3h )/1000/60) ;
如果您需要将'15.03.2011 18:42'转换为日期对象的有效输入,请使用:
var dat_ = '15.03.2011 18:42'.split(' '),
dat = dat_[0].split('.').reverse().join('/')+' '+dat_[1];
将时间戳改为毫秒,并以毫秒为单位计算时间差
检查这种差异不需要日、月、年。只有小时和分钟。
如果你把它读成一个字符串或者两个字符串就像这样
function check()
{
int minutes1;
int minutes2;
minutes1=hour_loaded*60 + minutes_loaded;
minutes2=hour_now*60 + minutes_now;
if( abs(minutes1-minutes2)> 180 )
return false;
}
也做一些语句来检查hour是:22还是23。因为如果hour_loaded为22,而hour_now为1,这个方法将不起作用