JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么ColdFusion时代在JavaScript时代之后一个小时?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个应用程序,我需要在服务器端使用COldFusion 8在 Windows Server 2008和客户端上使用javascript(在Google Chrome中进行测试)来获取时代.问题是,ColdFusion生成的时代时间比javascript生成的时间晚了一个小时.我已经验证了客户端和服务器端的日期/时间设置是否正确.

这是我如何设置COLdFusion的时间戳:

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

这是我如何使用javascript设置它:

var jsEpoch = Math.round(new Date().getTime()/1000.0);

这个JavaScript时代与本网站(http://www.epochconverter.com/)的匹配是有道理的,因为它们使用的方法与我一样. ColdFusion时代背后一个小时.这是我试图排序的运行方式:

<cfset localDate = now()>
<cfset utcDate = DateConvert("Local2utc",localDatE)>
<cfset epoch = DateDiff("s",utcDatE)>

<cfoutput>
    Local Date: #localDate# <br>
    UTC Date: #utcDate# <br>
    Epoch: #epoch#
</cfoutput>

该代码输出:

Local Date: {ts '2013-04-30 17:44:56'} 
UTC Date: {ts '2013-04-30 21:44:56'} 
Epoch: 1367354696

所以我很失落本地日期和UTC日期值都是正确的.看来,唯一的解释是DateDiff()函数不能正常工作,但我已经测试了其他日期,似乎工作正常.我想我可以添加3600到它产生的时代价值,但我宁愿不这样做,而不知道为什么我得到一个错误的价值在第一位.有没有人看到我在这里失踪?

解决方法

写一个小脚本你可能会注意到一些非常奇怪的东西.

这是为我输出的.

> 1367360584 – Javascript的时间
> 1367360594 – Epoch秒(将Epoch转换为当地时间)
> 1367356994 – Epoch秒(将当地时间转换为UTC)

所以把时代转变成当地的时代就是现在,但是另一方面却不是.
这也是在CF8上运行的,所以如果将Epoch转换为当地时间,它似乎是正确的.

试试看.

<script>
var jsEpoch = Math.round(new Date().getTime()/1000.0);
document.write(jsEpoch + ' - Javascript time <br>');
</script>


<cfset TheDate = now()>
<cfoutput>
#DateDiff("s",DateConvert("utc2Local","January 1 1970 00:00"),TheDatE)# - Epoch seconds (convert Epoch to local timE)<br>
#DateDiff("s",TheDatE))# - Epoch seconds (convert local time to UTC)
</cfoutput>

大佬总结

以上是大佬教程为你收集整理的为什么ColdFusion时代在JavaScript时代之后一个小时?全部内容,希望文章能够帮你解决为什么ColdFusion时代在JavaScript时代之后一个小时?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。