网站建设官网,分类目录,重庆必打卡的7个景点,暴风seo论坛一、背景。时间戳就是计算当前与1970-01-01 08:00:00的时间差#xff0c;在asp中通常是使用Datediff函数来计算两个日期差#xff0c;代码#xff1a;timestamp Datediff(s, 1970-01-01 08:00:00,now)返回结果#xff1a;1675951060可…一、背景。时间戳就是计算当前与1970-01-01 08:00:00的时间差在asp中通常是使用Datediff函数来计算两个日期差代码timestamp Datediff(s, 1970-01-01 08:00:00,now)返回结果1675951060可以看到上面代码返回的是10位数因为Datediff函数只能得到秒级的时间戳无法计算毫秒时间差。里面的参数值“s”是表示秒并没有“ms”的用法。而我们要的是毫秒级13位数的时间差那怎么办呢通过网络搜索和研究还是能找到些办法的。二、解决方案1.纯asp时间方案。先上代码%
Public Function getTime()getTime DateDiff(s, 1970-01-01 08:00:00, Date()) * 1000 Int(CDbl(Timer()) * 1000)
End Function
response.write getTime
%返回结果1675951060046上面的办法很巧妙就是对秒级时间戳打了个“补丁”通过Timer()函数计算然后加上去。2.通过调用js来实现。这算是一个“旁门左道”的方法在asp中调用js方法这功能确实比较魔幻一般人用的挺少但事实这样操作就是可以。下面这个代码是我原创的我了解到计算时间戳这种功能在js中算是非常平常的于是研究了下便有了结果script languageJavaScript runatserver
function getTimestamp() { eval(var s new Date().getTime(););return s;
}
/script%
response.write getTimestamp()
%返回结果1675951060048可以看到返回的是13位的时间戳。三、总结将上面两个方法放一起运行得到结果相差几毫秒这是正常的毕竟代码运行也是要时间的。计算毫秒级时间戳上面两个方法都可以不过推荐使用asp自带的方法即方法1毕竟跨语言运行性能上可能会打折扣。