不管用什么 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();
这个反正感觉有点怪。。。
添加回答
举报
0/150
提交
取消