本文介紹了將Java日期從一種格式轉換為另一種格式,而不將其轉換為字符串的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試獲取當前系統日期,并將其格式化為ETC/UTC,然后再格式化為”dd.MM.yyyy HH:mm z”格式。問題是格式化日期后的FORMAT函數返回的是字符串,而不是日期。下面是代碼旋轉框
final Date currentDate = new Date();
final SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy HH:mm z");
dateFormatter.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String finalDateTime= dateFormatter.format(currentDate);
System.out.println(finalDateTime);
有沒有其他解決方案可以讓我通過保留在這個Date對象中來格式化日期,因為我研究了Java 8之后和Java 8之前的每個Date庫,似乎如果我想格式化任何類型的Date或DateTime,我必須使用將給定日期轉換為字符串的格式化工具。
是否有其他解決方案或不可能?
推薦答案
Date
表示單個時間點。就是這樣,沒有更多,沒有更少。它不包含任何有關時區的信息。
Wed Jun 06 12:38:15 BST 2018
與Wed Jun 06 11:38:15 GMT 2018
相同,只是位于不同的時區。就像單詞”人類”和”智人”一樣。它們指的是相同的物種,只是它們的”格式”不同而已。
因此您不需要以任何方式更改日期。你只需要改變它的格式就行了。這就是格式化程序返回String
%s的原因。只有String
%s可以表示日期的一種特定格式。
這篇關于將Java日期從一種格式轉換為另一種格式,而不將其轉換為字符串的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,