CST时间格式化出现误差问题

场景:例如数据库里直接查出来的日期是‘Tue Jun 13 18:13:54 CST 2017 ’,正常的转换后的结果是‘2017-06-14 08:13:54’,结果相差14个小时 给我整的郁闷的不行 ,本来对这个CST,GMT这个时间都是模糊的,所以 我又上网查了大神的贴子,搞定后记录一下。


转换后如图(有误差):

造成误差原因:CST可以表示美国,澳大利亚,古巴,中国4个不同的时区,GMT代表格林尼治标准时间,由于中国在东8区 ,美国在西6区,东加西减 所以一共相差14个小时。由于Java日期转换采用的是美国时间,所以造成时间误差。



解决方法:

    public static void main(String[] args) throws ParseException {  
            String time = "Tue Jun 13 18:13:54 CST 2017";  
              
            SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);  
              
            String formatDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format( sdf.parse(time));   
            System.out.println(formatDate);  
        }  
最终效果:

记录一下方便自己学习 建议最好用GMT时间 。

转载自:http://blog.csdn.net/liu1782291245/article/details/73332474

猜你喜欢

转载自blog.csdn.net/sinat_19671783/article/details/76431426