我将文件从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
我不明白发生了什么。
答案 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
更接近标准,所以可能更可取。