Railo DateFormat给出了糟糕的结果?

时间:2014-12-09 18:11:48

标签: coldfusion railo

我将文件从Coldfusion 10迁移到Railo(使用Railo Express)。我发现了DateFormat函数的奇怪行为。运行以下代码:

<cfoutput>
  #Dateformat(now(),'yyyy-mm-dd hh:mm:ss')#
</cfoutput>

在Coldfusion中,我得到:

2014-12-09 01:12:29

这很好。

在铁路上,我得到:

2014-12-09 hh:12:ss

我不明白发生了什么。

1 个答案:

答案 0 :(得分:4)

对此有正确答案(da_didi和Leigh都在评论中提供了重要信息,但没有作为答案):

在Railo和ColdFusion dateFormat()中,只格式化日期。 IE:不是时间组件。

您需要的是dateTimeFormat()

<cfoutput>
    #dateTimeformat(now(),'yyyy-mm-dd hh:nn:ss')#
</cfoutput>

另请注意,分钟的掩码字符不是m,而是n(以消除几个月的分钟数。)

您可能还想使用HH几个小时,否则您在上午和下午时间之间会有歧义。或者您可以使用tt为时间部分添加后缀。使用HH更接近标准,所以可能更可取。