小编Spa*_*iph的帖子

为什么ColdFusion纪元时间落后于javascript纪元时间一小时?

我正在编写一个应用程序,我需要使用在Windows Server 2008上运行的ColdFusion 8和客户端使用javascript(在Google Chrome中进行测试)来获取服务器端的纪元时间.问题是ColdFusion生成的纪元时间比javascript生成的纪元时间晚一个小时.我已经验证了客户端和服务器端的日期/时间设置都是正确的.

这就是我用ColdFusion设置时间戳的方法:

<cfset cfEpoch = DateDiff("s", "January 1 1970 00:00", DateConvert("Local2utc", now()))>
Run Code Online (Sandbox Code Playgroud)

这就是我用javascript设置它的方式:

var jsEpoch = Math.round(new Date().getTime()/1000.0);
Run Code Online (Sandbox Code Playgroud)

javascript时代与本网站上的时代相匹配(http://www.epochconverter.com/),因为他们使用了我正在使用的相同方法.ColdFusion时代落后一小时.这是我试图解决这个问题的方法:

<cfset localDate = now()>
<cfset utcDate = DateConvert("Local2utc", localDate)>
<cfset epoch = DateDiff("s", "January 1 1970 00:00", utcDate)>

<cfoutput>
    Local Date: #localDate# <br>
    UTC Date: #utcDate# <br>
    Epoch: #epoch#
</cfoutput>
Run Code Online (Sandbox Code Playgroud)

该代码输出:

Local Date: {ts '2013-04-30 17:44:56'} 
UTC Date: {ts '2013-04-30 21:44:56'} 
Epoch: 1367354696
Run Code Online (Sandbox Code Playgroud)

所以我很茫然.本地日期和UTC日期值都是正确的.似乎唯一的解释是DateDiff()函数不能正常工作,但我已经用其他日期测试了它,它似乎工作正常.我想我可以在它生成的纪元值上添加3600但是我不想在不知道为什么我首先得到一个不正确的值的情况下这样做.有谁看到我在这里失踪了?

javascript coldfusion date epoch coldfusion-8

12
推荐指数
1
解决办法
5063
查看次数

标签 统计

coldfusion ×1

coldfusion-8 ×1

date ×1

epoch ×1

javascript ×1