我有一个Java客户端,它在MySQL数据库中以UTC格式插入(通过CSV和' LOAD DATA INFILE')时间戳(类型为TIMESTAMP)。我的服务器的时区是" America / New_York"我需要保留夏令时信息。 11月5日凌晨2点是从EDT到EST的时间变化,时钟被设置为1小时到凌晨1点。例如,11月5日凌晨1:30,发生了两次;一次在EDT,一次在EST。
如何让服务器区分两者?例如,如果我想插入2017-11-05 01:30:00' EDT,有没有办法让MySQL告诉2017-11-05 01:30:00' EDT(时间变更前)和2017-11-05 01:30:00' EST(在时间更改后)插入值时?如果重要的话,我的Java应用程序有两个时间戳的时区信息。
我希望将服务器的全球时区保持为' America / New_York'因为用户访问这些数据并希望它以当地时间显示。
我想到的解决方案是从Java客户端将连接的时区设置为UTC,以UTC格式插入值然后重置连接的时区,但我想知道是否有一个更好,更多的标准'溶液
答案 0 :(得分:0)
在newYork或东部时区使用jodaTime api http://joda-time.sourceforge.net/timezones.html Why this Joda offset cannot get daylightsaving right