为了账号安全,请及时绑定邮箱和手机立即绑定

java 时区转换问题

java 时区转换问题

翻过高山走不出你 2018-12-06 17:27:45
不管用什么 java8或者java8以下的方法转换都不能把CST转为GMT, 方法一: TimeZone gmt = TimeZone.getTimeZone("GMT+8"); Calendar c = Calendar.getInstance(gmt); return c.getTime(); 方法二: ZoneId z = ZoneId.of("Asia/Shanghai");// LocalDateTime localDateTime = LocalDateTime.now(z); ZonedDateTime zonedDateTime = ZonedDateTime.now(z); Instant instant = zonedDateTime.toInstant(); Date d = new Date(instant.toEpochMilli()); return d; 需要转的是Date对象存到数据库 两个方法都转不了 有没有大神碰到过,求帮忙解惑
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

date在java里是绝对的吧,全世界的date都是一样的,就是那个毫秒数都是一样的。你说的不一样只是显示的不一样,就是同样的date因为时区不同显示的时间不同。 也就是说 你用c.getTime() 不管你怎么设置时区 得到的结果都是一样的。

你要根据不同时区显示不同时间,有一种方式就是设置默认时区。。。 

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

Calendar c = Calendar.getInstance();

return c.getTime();

这个反正感觉有点怪。。。

查看完整回答
反对 回复 2018-12-16
  • 1 回答
  • 0 关注
  • 478 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号