不管用什么 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
提交
取消