我们有一个ColdFusion Web应用程序(由不同的组织创建),我们正试图转移到Railo Express v4.2 http://www.getrailo.org/(在不同的Windows服务器上)。
到目前为止,在尝试格式化从数据库(SQL Server)检索的日期/时间值时,除了DateTimeFormat或DateFormat方法之外,一切似乎都有效。
DateFormat(Now(),' dddd,m / d / yyyy')在Railo中正常工作,但对从数据库中的datetime列检索的变量进行类似的DateFormat调用失败,并显示错误消息像:
"无法将价值{ts' 2014-12-11 14:08:21'}转换为日期时间值"
我可能没有在Railo的数据源或Railo的系统配置中正确配置某些内容。
在ColdFusion服务器中,方法" getMetadata"在包含数据库datetime值的变量上返回" java.sql.Timestamp"。在Railo中,方法" getMetadata"在同一个变量上返回" java.lang.String"。在Railo中,getMetadata用于" Now()"返回" railo.runtime.type.dt.DateTimeImpl"。
在搜索此问题时,我能找到的唯一条目是旧版本的Railo中的一个错误,该错误已经修复。
有人可以建议我可能需要在Railo中调整的任何配置设置,或者我可以采取的任何疑难解答步骤来调查此问题的潜在原因吗?
===========================================
在Railo:
< CFOUTPUT>#session.LastLoginDate#< / CFOUTPUT>返回{ts' 2014-12-12 11:11:10'}
< cfoutput> #dateFormat(" {ts' 2014-12-12 11:11:10'}",' dddd,m / d / yyyy& #39)#< / CFOUTPUT>返回2014年12月12日星期五
但是(结合两者),< cfoutput> #dateFormat(session.LastLoginDate,' dddd,m / d / yyyy')#< / cfoutput> 失败:无法将字符串[{ts' 2014-12-12 11:11:10'}]转换为[datetime]类型的值