gpt4 book ai didi

ColdFusion 未正确解释 CFDirectory 中的日期时间

转载 作者:行者123 更新时间:2023-12-02 22:05:30 24 4
gpt4 key购买 nike

我们在 Windows Server 2003 上安装了 Coldfusion

未送达邮件上的 CFDirectory 转储返回以下内容:

enter image description here

但问题出在迭代此查询时,当我使用以下命令转储日期时:

#dateFormat(mailStubs.DateLastModified,'dd-mmm-yyyy')#

这就是我得到的:

2026 年 11 月 11 日
2027 年 11 月 11 日
2028 年 11 月 11 日
2029 年 11 月 11 日
2029 年 11 月 11 日
2029 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日
1930 年 11 月 11 日

这样做:

datediff("n", mailStubs.DateLastModified, now())

now() 是 2011 年 11 月 30 日,假设下午 2:00 给出了非常奇怪的结果

这只发生在Windows server 2003(我们的生产服务器)上,它在我的本地系统(XP)上运行良好

有什么想法吗?

最佳答案

我知道这是一个非常古老的线程,但是... cfdirectory 返回一个本地化日期字符串(不是日期对象)。因此,您应该使用 LS(区域设置敏感)日期函数来解析它。原因是标准 CF 日期函数(DateFormatParseDateTime...)始终使用美国日期约定。由于美国惯例是月份在前,因此如果您传入“dd-mm-yyyyy”日期字符串,您将得到错误的结果。 (至少在某些时候。)

<cfscript>
setLocale("en_GB");
WriteOutput( dateFormat(lsParseDateTime("26/11/11 2:42 PM"), "dd-mmm-yyyy") );
</cfscript>

关于ColdFusion 未正确解释 CFDirectory 中的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8332292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com