JAVA8时间插入mysql时间不对
最近在使用JPA,将LocalDateTime插入到数据库时时间竟然不对,经查找是JDBC连接池的时区不正确,在java.time.ZoneId这个类的帮助文档和源码里写有:
EST - -05:00 HST - -10:00 MST - -07:00 ACT - Australia/Darwin AET - Australia/Sydney AGT - America/Argentina/Buenos_Aires ART - Africa/Cairo AST - America/Anchorage BET - America/Sao_Paulo BST - Asia/Dhaka CAT - Africa/Harare CNT - America/St_Johns CST - America/Chicago CTT - Asia/Shanghai EAT - Africa/Addis_Ababa ECT - Europe/Paris IET - America/Indiana/Indianapolis IST - Asia/Kolkata JST - Asia/Tokyo MIT - Pacific/Apia NET - Asia/Yerevan NST - Pacific/Auckland PLT - Asia/Karachi PNT - America/Phoenix PRT - America/Puerto_Rico PST - America/Los_Angeles SST - Pacific/Guadalcanal VST - Asia/Ho_Chi_Minh
因此我们在JDBC的连接里使用&serverTimezone=CTT就可以正确的插入时间。