首页前端开发HTMLasp获取毫秒时间戳的方法 asp获取13位时间戳的方案

asp获取毫秒时间戳的方法 asp获取13位时间戳的方案

时间2023-04-04 10:18:01发布访客分类HTML浏览881
导读:一、背景。时间戳就是计算当前与"1970-01-01 08:00:00"的时间差,在asp中通常是使用Datediff函数来计算两个日期差,代码:timestamp = Datediff("s", "1970-01-01 08:00:00"...

一、背景。

时间戳就是计算当前与"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 language="JavaScript" runat="server">

function   getTimestamp() {
      
    eval("var s= new Date().getTime();
    ");
    
    return   s;

}
    
/script>
    
  
%
response.write getTimestamp()
%>
    

返回结果:1675951060048

可以看到返回的是13位的时间戳。


三、总结

将上面两个方法放一起运行得到结果相差几毫秒,这是正常的,毕竟代码运行也是要时间的。

计算毫秒级时间戳上面两个方法都可以,不过推荐使用asp自带的方法,即方法1,毕竟跨语言运行性能上可能会打折扣。


后续:

上面涉及到了在asp中写js代码。其实在asp环境中写asp代码还有另外一个方法,不过这个方法整个文件都得js代码,无法像上面那样混写,比如:

%@ Language= "Javascript" %>
    
  
%
var s= new Date().getTime();
    
Response.Write (s);
    
%>
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

开发框架JavaScript.NETServerless

若转载请注明出处: asp获取毫秒时间戳的方法 asp获取13位时间戳的方案
本文地址: https://pptw.com/jishu/962.html
云LIS平台源码,基于B/S架构的实验室信息系统,技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis 官宣|「阿里云瑶池数据库峰会」议程公布,豪华阵容首曝光!(阿里云池大数据竞赛)

游客 回复需填写必要信息