关于UTC时间的转本地时间

来源:互联网 发布:潮汕女孩知乎 编辑:程序博客网 时间:2024/05/19 12:14

最近发现项目中后台采用的是UTC(世界标准时间)时间格式。而且还不是标准的UTC,这让我很尴尬,而且以前项目中处理时间的方式也是极其无脑。

首先来说下尴尬的是事情是什么,后台采用的Python语言开发,因为人员流动,代码不统一,时间返回不标准。例如一个时间可能是

String time="2017-08-05T12:22:59Z";

这个是标准的UTC时间格式,我不知道为什么还会返回第二种格式如:

String time="2017-08-05T12:22:59";

简直是无语了,那怎么办,只能自己解决了,将错就错

public static void main(String[] args) {        parseTime("2017-08-05T12:22:59Z");    }    public static void parseTime(String utcTimeStr){        try {            SimpleDateFormat sdf;            if (utcTimeStr.indexOf("Z")==0) {                 sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");            }else{                 sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");            }            long parseTime = sdf.parse(utcTimeStr).getTime();            String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(parseTime));            System.out.println(format);        } catch (Exception e) {            e.printStackTrace();        }    }

最后打印的时间是

2017-08-05 12:22:59

这种方式完美的解决了返回时间格式不一致的问题,比起以前的Android用替换字符串的方式要正规很多,虽然那种方法能解决问题,但是我觉得还是要按照标准来