Coldfusion日期转换:“2013-11-15T06:11:57.87是无效的日期或时间字符串”

时间:2013-11-20 05:53:39

标签: coldfusion date-formatting

我正在尝试将日期从UTC转换为本地,我收到以下错误: “2013-11-15T06:11:57.87是无效的日期或时间字符串”

以下是部分代码:

#DateFormat(DateConvert("utc2Local", apiResult.Created), 'm/d/yy')#

你猜对了apiResult.Created是2013-11-15T06:11:57.87

有什么想法吗? 谢谢

1 个答案:

答案 0 :(得分:3)

您的问题似乎是字符串2013-11-15T06:11:57.87不是可识别的日期字符串格式。您可能需要自己解析它。我在twitter日期找到了这个例子,您可以根据自己的需要进行修改:

<cffunction name="parseTwitterDateFormat" output="false" returntype="String" hint="I return the date in a useable date format.">
  <cfargument name="twitterDate" required="true" type="string" hint="The Twitter date." />
  <cfset var formatter = CreateObject("java", "java.text.SimpleDateFormat").init("EEE MMM d kk:mm:ss Z yyyy") />
  <cfset formatter.setLenient(true) />
  <cfreturn formatter.parse(arguments.twitterDate) />
</cffunction>

更多信息:http://www.petefreitag.com/item/569.cfm

SimpleDateFormat的Java文档:http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

基于Java文档,我认为您需要格式字符串:"yyyy-MM-dd'T'HH:mm:ss.SS"

请注意,我确实阅读了一条评论,说明SimpleDateFormat类将时间转换为本地时间,您可能需要检查一下。