我正在尝试将日期从UTC转换为本地,我收到以下错误: “2013-11-15T06:11:57.87是无效的日期或时间字符串”
以下是部分代码:
#DateFormat(DateConvert("utc2Local", apiResult.Created), 'm/d/yy')#
你猜对了apiResult.Created是2013-11-15T06:11:57.87
有什么想法吗? 谢谢
答案 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类将时间转换为本地时间,您可能需要检查一下。