JDBC夏令时踩坑(SQLException: HOUR_OF_DAY: 0 -> 1)以及解决方法
夏令时的概念及其由来
夏令时(Daylight Saving Time)是一种时间调整制度,旨在利用夏季长日照的时间,将钟表向前调整一小时,从而延长晚间的日光时间。
夏令时的由来可以追溯到19世纪末。最早的夏令时实施是在德国,于1916年第一次世界大战期间引入。此后,其他国家也陆续采用了夏令时制度。
夏令时的目的有多个方面:
节约能源:利用夏季长日照,减少晚间灯光使用,从而节约电力消耗。
提高生活质量:延长晚间日照时间,使人们有更多的时间从事户外活动和休闲娱乐。
减少交通事故:晚间延长的日光时间可以减少交通高峰期的车流量,降低交通事故风险。
然而,夏令时也存在争议和负面影响。一些人认为调整时间会带来生物钟混乱、身体不适和生产效率下降等问题。此外,夏令时的实施范围和调整规则在不同国家和地区也存在差异。
总的来说,夏令时是一种用于调整时间以适应季节变化的制度,其目的是节约能源、提高生活质量和减少交通事故。然而,对于是否实施夏令时以及具体的调整规则,各国和地区有不同的观点和实践。
夏令时导致jdbc的坑:
当表中存在夏令时时:例如 1989-04-16 00:00:00 jdbc解析date对象出现现:Cause: java.sql.SQLException: HOUR_OF_DAY: 0 -> 1
解决方法:
jdbc连接后面加上&serverTimezone=GMT%2B8