parseDateTime 输出差异

parseDateTime output difference

我的 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

我需要调整哪些设置才能使两个输出相似?我错过了什么?

@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