問題描述:
本想在前台把字符串格式的日期(2019-03-09)轉換成日期格式(2019-03-09 00:00:00),但當把這個參數傳到后台去后卻變成了2019-03-08T16:00:00.000Z這樣的格式,日期少了一天,這樣拿到的數據肯定不是我們想要的,那么該怎么辦?
問題解決:
眾所周知,我們當前所處的時區是+8時區,而16+8正好是第二天零點,這也正是我們想要的時間,那么從2019-03-08T16:00:00.000Z這個格式中可以猜想000Z多半與時區相關,果然百度了一下這就是UTC 通用標准時,問題就可以解決了。
Java后台得到的時間是:String date = “2019-03-08T16:00:00.000Z”
轉換成yyyy-MM-dd格式,Date類型默認hh:mm:ss為00:00:00
String now = "2019-03-09"; DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = format.parse(now); System.out.println(date);
將“2019-03-08T16:00:00.000Z“時間格式轉換成Date類型格式
String date = "2019-03-09T16:00:00.000Z"; date = date.replace("Z", " UTC"); System.out.println(date); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); Date d = format.parse(date); System.out.println(d);