parseDateTime输出差异

时间:2019-11-12 05:37:30

标签: datetime coldfusion cfml coldfusion-11 coldfusion-2018

我的Coldfusion开发服务器:

Server Product  ColdFusion
Version     11,0,13,303668 
Tomcat Version  7.0.75.0
Edition     Developer  
Operating System    Windows 10  

Coldfusion生产服务器:

Server Product  ColdFusion 2018
Version 2018.0.04.314546
Tomcat Version  9.0.10.0
Edition Standard  
Operating System    Windows Server 2016 
 
<cfscript>
    t = parseDateTime("2019-11-10 23:20:51.000","yyyy-MM-dd HH:mm:ss");
    writeDump(t);
</cfscript>

在输出上方运行相同的代码不相同。

开发服务器输出:

{ts '2019-11-10 23:20:51'} - Good

生产服务器输出:

{ts '2020-08-10 23:00:51'} - Bad

我需要调整哪些设置以使两个输出相似?我想念什么?

1 个答案:

答案 0 :(得分:4)

@Vlad是的。我在当地处理您的问题。我可以重现该问题。但问题是不建议使用pop-conversion参数 mm。使用nn分钟。

ColdFusion(2016版)更新3:

-- You can use the masks t and tt to create a date/time object. For single-character time marker string, use t. For multiple-character time marker string, use tt.
-- mm is deprecated. Use nn for minutes.

所以您的代码应该像

<cfscript>
        t = parseDateTime("2019-11-10 23:20:51.000","yyyy-MM-dd HH:nn:ss");
        writeDump(t);
</cfscript>

输出: {ts'2019-11-10 23:20:51'}

现在您的输出与旧版CF相同。请检查并确认。

有关更多参考,请访问https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-l/lsparsedatetime.html