Java基础之一组有用的类——生成日期和时间(TryDateFormats)
控制臺程序。
java.util包中含有相當多的類涉及日期和時間,包括Date類、Calendar類和GregorianCalendar類。
Date類對象其實定義了精確到毫秒的時刻,從1970年1月1日00:00:00時(GMT,格林威治時間)開始算起。因為是相對于特定的時刻,所以也對應著日期。
Calendar類是GregorianCalendar的基類,表示每個人都習慣使用的日/月/年日歷,另外還提供了從Date對象中獲取日、月和年信息的方法。
DateFormat類是抽象類,可用于創建Date對象的有意義的字符串表示。但這個類不在java.util包中,而在java.text包中定義。日期和時間有4中標準表示格式,它們用DateFormat類中定義的常量標識:SHORT/MEDIUM/LONG/FULL.
java.util.Locale對象標識了國家、區域或語言特有的信息??梢詾樘囟ǖ膰?、語言、國家和語言以及國家和語言的變體定義Locale對象。
DateFormat類是抽象的,所以不能直接創建類的對象,但可以使用類中定義的靜態方法來獲得DateFormat對象,這些方法返回DateFormat類型的值。DateFormat對象封裝了一個Locale和一個整數日期樣式,這個樣式有DateFormat類中定義的常量定義,即前面的SHORT、MEDIUM、LONG或FULL。
可以創建DateFormat實例,把Date對象格式化為時間、日期或日期和時間。創建各種DateFormat對象的靜態方法有:返回時間格式化器的getTimeInstance()、返回日期格式化器的getDateInstance()以及返回格式化日期和時間的getDateTimeInstance()。
為指定的國家、樣式和將要格式化的數據種類(日期、時間或兩者)創建DateFormatd對象后,就準備好了從Date對象生成字符串。
只需要把Date對象傳送給DateFormat對象的format()方法即可。例如:
Date today = new Date();
DateFormat fmt = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.US);
String formatted = fmt.format(today);
第一條語句創建了一個Date對象,表示執行Date構造函數時的時刻。
第二條語句創建了一個DateFormat對象,可以格式化Date對象封裝的日期和時間。這個例子把日期和時間的格式化樣式都指定為DateFormat類中的FULL常量,這樣就為日期和時間提供了最詳細的信息。第三個參數Locale.US決定了格式化應滿足美國的要求。Locale類定義了用于其他主要國家和語言的常量。
第三條語句把fmt對象的format()方法應用于Date對象。
執行這些語句后,字符串變量formatted就包含了創建Date對象today時的完整日期和時間。
1 // Trying date formatting 2 import java.util.Locale; 3 import java.text.DateFormat; 4 import java.util.Date; 5 import static java.util.Locale.*; // Import names of constants 6 import static java.text.DateFormat.*; // Import names of constants 7 8 public class TryDateFormats { 9 public enum Style {FULL, LONG, MEDIUM, SHORT} 10 11 public static void main(String[] args) { 12 Date today = new Date(); 13 Locale[] locales = {US, UK, GERMANY, FRANCE}; 14 15 // Output the date for each locale in four styles 16 DateFormat fmt = null; 17 for(Locale locale : locales) { 18 System.out.println("\nThe Date for " + locale.getDisplayCountry() + ":"); 19 for (Style style : Style.values()) { 20 fmt = DateFormat.getDateInstance(style.ordinal(), locale); 21 System.out.println( " In " + style + " is " + fmt.format(today)); 22 } 23 } 24 } 25 }?輸出在嵌套的for循環中生成。外層循環迭代國家,內層循環是基于集合的for循環,為Styles枚舉中的每個國家迭代樣式。ordinal()方法返回值在枚舉中的序號。使用序號把樣式指定為getDateInstance()方法的第一個參數。
轉載于:https://www.cnblogs.com/mannixiang/p/3439551.html
總結
以上是生活随笔為你收集整理的Java基础之一组有用的类——生成日期和时间(TryDateFormats)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel导入sqlserver
- 下一篇: PCRE