JAVA 获取北京时间 亲自验证

网上搜了半天  好多代码都是 要不代码报错  要不就是答得驴唇不对马嘴  要不就是代码不验证就发上来的 压根就是获取本机时间

自己把本机的时区改成非北京 试下

这篇文章是正确的


Date date = new Date(1503544630000L);  // 对应的北京时间是2017-08-24 11:17:10
 
SimpleDateFormat bjSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");     // 北京
bjSdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));  // 设置北京时区
 
SimpleDateFormat tokyoSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  // 东京
tokyoSdf.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));  // 设置东京时区
 
SimpleDateFormat londonSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 伦敦
londonSdf.setTimeZone(TimeZone.getTimeZone("Europe/London"));  // 设置伦敦时区
 
System.out.println("毫秒数:" + date.getTime() + ", 北京时间:" + bjSdf.format(date));
System.out.println("毫秒数:" + date.getTime() + ", 东京时间:" + tokyoSdf.format(date));
System.out.println("毫秒数:" + date.getTime() + ", 伦敦时间:" + londonSdf.format(date));

输出为:

毫秒数:1503544630000, 北京时间:2017-08-24 11:17:10

毫秒数:1503544630000, 东京时间:2017-08-24 12:17:10

毫秒数:1503544630000, 伦敦时间:2017-08-24 04:17:10

posted @ 2019-05-06 16:57  小谭行天下  阅读(6780)  评论(0编辑  收藏  举报