Java中Date()類 日期轉字元串、字元串轉日期的問題 今天在寫東西的時候突然發現一個問題,就是先new 一個Date()然後將生成的值轉為字元串, 然後再將轉換後的字元串再次用new Date()轉為日期,但是轉完之後發現兩次生成的日期之間有差距?有大佬知道是什麼原因嗎? 知道的大佬麻煩說一下 ...
Java中Date()類 日期轉字元串、字元串轉日期的問題
今天在寫東西的時候突然發現一個問題,就是先new 一個Date()然後將生成的值轉為字元串,
然後再將轉換後的字元串再次用new Date()轉為日期,但是轉完之後發現兩次生成的日期之間有差距?有大佬知道是什麼原因嗎?
知道的大佬麻煩說一下,謝謝了!
我把代碼貼在下麵:
public void test2() {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("G yyyy年 MM月dd日 HH時mm分ss秒SS毫秒 E 一年中的第D天 MM月中的第F個E 一年中的第w個星期 一月中的第W個星期 a z時區");
//獲取日期
Date date = new Date();
//控制台列印日期
System.out.println("date = " + simpleDateFormat.format(date));
//將上面獲取的日期轉為字元串之後再轉成日期
Date date1 = new Date(date + "");
//控制台列印日期
System.out.println("date1 = " + simpleDateFormat.format(date1));
/**
* 列印的結果
* date = 公元 2019年 03月16日 21時06分13秒241毫秒 星期六 一年中的第75天 03月中的第3個星期六 一年中的第11個星期 一月中的第3個星期 下午 CST時區
* date1 = 公元 2019年 03月17日 11時06分13秒00毫秒 星期日 一年中的第76天 03月中的第3個星期日 一年中的第12個星期 一月中的第4個星期 上午 CST時區
*/
}
-------------------------------------------------------
下麵是詳解:
看了大佬的評論。 自己也去看了看api,其實就是時區問題。
根據參數確定日期和時間。 該參數被解釋為年,月,該月的一天,一天的時間,在一小時內分和秒中的分鐘,正好作為Date構造與六個參數,
除了參數相對於UTC解釋而不是當地時區。
返回的時間表示為從時代(1970年1月1日00:00:00 GMT)開始的距離(以毫秒為單位)。
--------------------------------- end ---------------------------------