Java new Date() 获取的时间不正确 【已解决】


▌问题描述
new Date()获取正确,使用TimeUtils.timeInUTC()转换日期格式后,时间早了比北京时间晚了8小时

▌原因分析
时区不正确,TimeUtils默认使用格林威治时间,晚了8小时,而我们使用的是北京时间,需要设置时区为东8区

▌解决方案
在时间格式转换前,添加以下代码

 

System.out.println("原时间 " + new Date());
TimeZone time = TimeZone.getTimeZone("Etc/GMT-8"); //转换为中国时区
TimeZone.setDefault(time);
System.out.println("修改后时间 " + new Date());

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM