本文為博主原創,未經允許不得轉載:
最近在使用一個時間插件的時候,接收到的時間格式是 ’2017-11-27T03:16:03.944Z’ ,當我進行雙向數據綁定的時候,由后台傳過來的時間綁定到時間
控件上時,日期差了一天,在瀏覽器控制台發現我傳輸的時期是yyyy-MM-dd格式,當控件自己解析的時候,差了8個小時,日期就少了一天。

如上圖所示,在網上搜了很多,發現這個日期格式為:UTC日期格式。
UTC日期即世界時,即格林尼治平太陽時,是表示地球自轉速率的一種形式。
UTC就是世界標准時間,與北京時間相差八個時區。所以只要將UTC時間轉化成一定格式的時間,再在此基礎上加上8個小時就得到北京時間了。
當我在后台給前台控件綁定的時間格式為 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 格式的時候,解析就OK了。
所以在此列出UTC日期格式與String的日期格式轉換方法:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class UTCTimeFormatTest { //UTC就是世界標准時間,與北京時間相差八個時區。所以只要將UTC時間轉化成一定格式的時間,再在此基礎上加上8個小時就得到北京時間了。 public static void main(String[] args) throws ParseException { //Z代表UTC統一時間:2017-11-27T03:16:03.944Z SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); Date date = new Date(); System.out.println(date); String str = format.format(date); System.out.println(str);
SimpleDateFormat dayformat = new SimpleDateFormat("yyyy-MM-dd"); String source ="2018-09-18";
//先將年月日的字符串日期格式化為date類型 Date day = dayformat.parse(source);
//然后將date類型的日期轉化為UTC格式的時間 String str2= format.format(day); System.out.println(str2); } }
運行結果為:

留言以鼓勵自己和看我博客的人:
每個人都應是守望者,守望我們的心智,我們的理想,以防它在生活中不知不覺地墜落、被操控和被自己遺忘。。。
