我有一个Java客户端,它在MySQL数据库中插入(通过CSV和“LOAD DATA INFILE”) UTC格式的时间戳(类型为TIMESTAMP)。我的服务器的时区是"America/New_York“,我需要保存夏令时信息。11月5日凌晨2:00是将时间从美国东部夏令时改为美国东部夏令时,将时钟拨回一个小时至凌晨1:00的时间例如,11月5日凌晨1:30会发生两次;一次是在美国东部夏令时,另一次是在东部夏令时。
如何让服务器区分这两者呢?例如,如果我想插入'2017-11-05 01:30:00‘美国东部夏令时,有没有办法在我插入值时告诉MySQL区分'2017-11-05 01:30:00’美国东部夏令时(时间更改前)和'2017-11-05 01:30:00‘美国东部夏令时(时间更改后)之间的区别?我的Java应用程序拥有这两个时间戳的时区信息。
我希望将服务器的全局时区保留为'America/New_York‘,因为用户访问此数据并希望在其本地时间显示这些数据。
我想到的解决方案是从Java客户端将连接的时区设置为UTC,插入UTC中的值,然后重新设置连接的时区,但我想知道是否有更好、更“标准”的解决方案。
发布于 2017-09-23 03:16:01
将jodaTime api与newYork或东部时区http://joda-time.sourceforge.net/timezones.html Why this Joda offset cannot get daylightsaving right配合使用
https://stackoverflow.com/questions/46370301
复制相似问题