从 SQL Server 数据库中读出的时间格式是这样的“2006-8-5 20:19:55”
javacript 中时间格式是这样的“Sat Aug 5 20:19:55 UTC+0800 2006”
用 javascript 计算时间差,需要把时间格式转换成一致的。
下面这个函数就是为了解决这个问题的,并算出了前一个时间是后一个时间多少天多少小时之前。
<script language="JavaScript" type="text/javascript">
function TransDate(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
var now = new Date();
var i = (now.getTime() - d.getTime())/3600000;
if (i>24)
document.write(Math.floor(i/24)+" 天 "+Math.floor(i%24)+" 小时之前");
else
document.write(Math.floor(i%24)+" 小时之前");
}
</script>
调用:
<script language="JavaScript" type="text/javascript">
TransDate('2006-8-5 20:19:55');
</script>