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());