当我使用www.example.com()获取当前UTC时间时,Instant.now() to get the current UTC time, 不要将Instant用于SQL数据库工作。 在JDBC 4.2+中,规范将OffsetDateTime类Map到与SQL标准类型TIMESTAMP WITH TIME ZONE类似的类型的列。
Instant和ZonedDateTime在JDBC中都没有Map,SQL标准没有定义与这些类等效的类型。 顺便说一下,对于类型类似于SQL标准类型TIMESTAMP WITHOUT TIME ZONE的列,请使用LocalDateTime类。 时间戳的转换. from(instant) 永远不要使用Timestamp这样糟糕的遗留日期-时间类,只使用它们的替代品:JSR 310中定义的现代 * java. time * 类。 写入数据库:
1条答案
按热度按时间svgewumm1#
当我使用www.example.com()获取当前UTC时间时,Instant.now() to get the current UTC time,
不要将
Instant
用于SQL数据库工作。在JDBC 4.2+中,规范将
OffsetDateTime
类Map到与SQL标准类型TIMESTAMP WITH TIME ZONE
类似的类型的列。Instant
和ZonedDateTime
在JDBC中都没有Map,SQL标准没有定义与这些类等效的类型。顺便说一下,对于类型类似于SQL标准类型
TIMESTAMP WITHOUT TIME ZONE
的列,请使用LocalDateTime
类。时间戳的转换. from(instant)
永远不要使用
Timestamp
这样糟糕的遗留日期-时间类,只使用它们的替代品:JSR 310中定义的现代 * java. time * 类。写入数据库:
检索:
您评论:
问题是我的JVM默认为本地时间
编写Java代码时,应该不考虑JVM当前的默认时区。
上面显示的代码不受JVM当前默认时区的影响。