在新服务器上测试代码,java.time.localdatetime 无法转换为日期不会在生产中发生
testing code on new server, java.time.localdatetime cannot be converted to date does not happen in production
我正在使用 ColdFusion 2018 和 mariadb 10.5.4 在 AWS AMI 上设置开发服务器
我没有弄清楚当前的生产版本是什么,但很可能它们有些旧。该应用程序于 2016 年推出
生产时代码没有变化,数据库是直接备份还原,没有变化
*我在 cfoutput
查询中尝试格式化字段 Named: DateStamp 时遇到代码错误。这是错误代码的一个例子,它在很多地方:
#DateFormat(Q.DateStamp,"m/d/yyyy")# #TimeFormat(Q.DateStamp, "short")#
这是错误
- “值 class
java.time.LocalDateTime
无法转换为日期”
mariadb中的table数据类型为DateStamp作为datetime,这与production没有变化
我不知道为什么期望该字段是 LocalDateTime,而它是一个常规 DateTime。它必须是此环境配置中的某些内容,但我无法理解什么?我已经搜索过,但我得到的只是“如何处理 LocalDateTime”类型的链接,所以没有帮助,因为当这是一个必须至少以与生产相同的代码开始的测试环境时我无法更改所有代码
您需要找出哪些版本的 ACF、MySQL 和 Java 运行正在生产中。即使该应用程序是在 2016 年启动的,也不能保证它是在 CF 2016 上发布的。可能是服务器的旧版本。
select Q.DateStamp from where <id = a single>
example looks like "2016-10-17 17:50:34"
您 运行 是在 IDE 中查询还是 运行 通过 cfquery
查询。需要确保它作为 DateTime 对象 ({ts '2012-12-12 12:12:12'}
) 而不是字符串返回。
A date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.
MariaDB displays DATETIME values in 'YYYY-MM-DD HH:MM:SS.ffffff'
根据我对 Adrian 的贡献的评论 - 在这种情况下,答案通常是通过比较环境之间的数据源配置找到的 - 最重要的是是否在两个环境中选择了相同的数据库驱动程序,然后是各种高级设置数据源,最后是数据库服务器本身的任何 version/compatibility 设置。
我正在使用 ColdFusion 2018 和 mariadb 10.5.4 在 AWS AMI 上设置开发服务器
我没有弄清楚当前的生产版本是什么,但很可能它们有些旧。该应用程序于 2016 年推出
生产时代码没有变化,数据库是直接备份还原,没有变化 *我在
cfoutput
查询中尝试格式化字段 Named: DateStamp 时遇到代码错误。这是错误代码的一个例子,它在很多地方:#DateFormat(Q.DateStamp,"m/d/yyyy")# #TimeFormat(Q.DateStamp, "short")#
这是错误
- “值 class
java.time.LocalDateTime
无法转换为日期”
- “值 class
mariadb中的table数据类型为DateStamp作为datetime,这与production没有变化
我不知道为什么期望该字段是 LocalDateTime,而它是一个常规 DateTime。它必须是此环境配置中的某些内容,但我无法理解什么?我已经搜索过,但我得到的只是“如何处理 LocalDateTime”类型的链接,所以没有帮助,因为当这是一个必须至少以与生产相同的代码开始的测试环境时我无法更改所有代码
您需要找出哪些版本的 ACF、MySQL 和 Java 运行正在生产中。即使该应用程序是在 2016 年启动的,也不能保证它是在 CF 2016 上发布的。可能是服务器的旧版本。
select Q.DateStamp from where <id = a single>
example looks like "2016-10-17 17:50:34"
您 运行 是在 IDE 中查询还是 运行 通过 cfquery
查询。需要确保它作为 DateTime 对象 ({ts '2012-12-12 12:12:12'}
) 而不是字符串返回。
A date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.
MariaDB displays DATETIME values in 'YYYY-MM-DD HH:MM:SS.ffffff'
根据我对 Adrian 的贡献的评论 - 在这种情况下,答案通常是通过比较环境之间的数据源配置找到的 - 最重要的是是否在两个环境中选择了相同的数据库驱动程序,然后是各种高级设置数据源,最后是数据库服务器本身的任何 version/compatibility 设置。