1. 程式人生 > >關於UTC時間的轉本地時間

關於UTC時間的轉本地時間

最近發現專案中後臺採用的是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用替換字串的方式要正規很多,雖然那種方法能解決問題,但是我覺得還是要按照標準來