繁体   English   中英

如何将C#DateTime与Javascript的Date.now()进行比较

[英]How to compare a C# DateTime to Javascript's Date.now()

我有一些javascript只需要执行,如果它自服务器上计算的日期以来少于这么多秒,但我在日期比较方面遇到了一些麻烦。 这是我尝试过的:

<script type="text/javascript">
    var elapsedMillis = 10000;
    if(Date.now() - <%=(benchmarkDate-new DateTime(1970,1,1)).TotalMilliseconds%> < elapsedMillis)
    {
        //do stuff
    }
</script>

不幸的是,即使在设置benchmarkDate的十秒内执行,C#TimeSpan也会给我一些毫秒,这些毫秒与JavaScript的Date.now()相差大约14,000秒。

这结果是时区问题,因为我没有意识到JavaScript的Date.now()返回了UTC日期。 这是我将C#日期首先转换为UTC的修复程序,以防它帮助其他人:

<script type="text/javascript">
    var elapsedMillis = 10000;
    if(Date.now() - <%=(benchmarkDate.ToUniversalTime()-new DateTime(1970,1,1)).TotalMilliseconds%> < elapsedMillis)
    {
        //do stuff
    }
</script>    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM