为什么Coldfusion DateTime返回奇怪的值?

为什么Coldfusion DateTime返回奇怪的值?,datetime,coldfusion,Datetime,Coldfusion,我正在尝试使用Coldfusion DateFormat函数。有人能告诉我,为什么要这样做: #DateFormat( now(), "YYYY-MM-DD HH:MM:SS")# 返回以下内容: 2012-07-17 16:07:666 为什么是666毫秒?有些可怕的东西???日期格式不格式化时间。使用TimeFormat表示时间 编辑: 将此代码用于日期时间输出 #dateFormat(now(),'YYYY-MM-DD')# #timeFormat(now(), 'HH:MM:SS

我正在尝试使用Coldfusion DateFormat函数。有人能告诉我,为什么要这样做:

 #DateFormat( now(), "YYYY-MM-DD HH:MM:SS")#
返回以下内容:

 2012-07-17 16:07:666

为什么是666毫秒?有些可怕的东西???

日期格式不格式化时间。使用TimeFormat表示时间

编辑

将此代码用于日期时间输出

#dateFormat(now(),'YYYY-MM-DD')# #timeFormat(now(), 'HH:MM:SS')#

我更喜欢使用Java SimpleDataFormat,其中日期掩码区分大小写

<cfscript>
createObject('java','java.text.SimpleDateFormat').init('yyyy-MM-dd HH:mm:ss.SSS').format(now());
</cfscript>

createObject('java','java.text.simpleDataFormat').init('yyyy-MM-dd HH:MM:ss.SSS').format(now());


例如,
2010-07-19 11:46:12.029

时间表给了我2012-07-17:07:438什么?TimeFormat(now(),'HH:MM:SS')?hm.#TimeFormat(now(),“YYYY-MM-DD HH:MM:SS”)#我通常使用createODBCDateTime()插入数据库,但如果MySQL将其识别为日期,那么它应该可以工作。是的,createODBCDateTime(now())正如Sean所说的,您需要同时使用日期/时间格式。它输出666的原因是“SS”在
DateFormat
的上下文中表示毫秒。结果与使用
l
TimeFormat
功能时相同。ok。我在读更多的东西……;-)掩码时间部分中的“MM”被dateFormat()误解为表示月份而不是分钟。将timeFormat()用于时间部分。