學習過字元串、數值等資料的操作,常見的資料還有一類日期資料。本節将為讀者展示在Java中如何通過Date類進行日期資料的處理,使用SimpleDateFormat類完成對日期資料的格式化輸入與輸出。
【本節目标】
通過閱讀本節内容,你将對開發過程中經常涉及到的資料産生一個較為全面的掌握,并學會使用Date類、SimpleDateFormat類實作日期類型資料的各類操作。
Date日期處理類
從整體的Java來講,一直在強調簡單Java類的主要設計來自于資料表的結構,那麼在資料表的結構裡面常用的類型:數字、字元串、日期,是以現在的程式之中隻差日期了。
在Java中提供有java.util.Date類,這個類如果直接執行個體化就可以擷取目前的日期時間。
範例:觀察java.util.Date類
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date=new Date();
System.out.println(date);
}
}
這個時候需要進一步去觀察Date類中的構造方法:
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
通過以上源代碼分析可以得出一個結論:Date類中隻是對long資料的一種包裝。是以Date類中一定提供有所謂的日期與long資料類型之間轉換的方法:
- 将long轉為Date:public Date(long date);
- 将Date轉為long:public long getTime();
範例:觀察Date與long之間的轉換
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
long current = date.getTime();
current += 1 * 864000 * 1000; //10天的毫秒數
System.out.println(new Date(current)); //long轉為Date
}
}
long之中可以儲存毫秒的資料量級,這樣友善程式處理。
日期格式化
雖然Date可以擷取目前的日期時間,但是預設情況下Date類輸出的日期時間結構并不能夠被國人所習慣,那麼就需要對顯示的格式進行格式化的處理,為了可以格式化日期,在java.text包中提供有SimpleDateFormat程式類。該類是DateFormat的子類,在該類中提供有如下的方法:
- 【DateFormat繼承】将日期格式化:public final String format(Date date);
- 【DateFormat繼承】将字元串轉為日期: public Date parse(String source) throws ParseException;
構造方法:public SimpleDateFormat(String pattern);
日期格式:年(yyyy)、月(MM)、日(dd)、時(HH)、分(mm)、秒(ss)、毫秒(SSS)
範例:格式化日期顯示
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str=sdf.format(date);
System.out.println(str);
}
}
除了可以将日期格式化為字元串之後,也可以實作字元串與日期之間的轉換處理。
範例:将日期轉為Date
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
String birthday="1846-11-11 11:11:11.111"; //字元串的日期
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date=sdf.parse(birthday);
System.out.println(date);
}
}
如果在進行字元串定義的時候,所使用的日期時間數字超過了指定的合理範圍,則會自動進行進位處理。
範例:數字格式化
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
double money=23890238923.23;
String str= NumberFormat.getInstance().format(money);
System.out.println(str);//23,890,238,923.23
}
}

格式化處理
通過到現在的學習可以發現,String字元串可以向所有類型轉換,基本類型、日期類型。
想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。
本内容視訊來源于
阿裡雲大學 下一篇:初識正規表達式 | 帶你學《Java語言進階特性》之二十三 更多Java面向對象程式設計文章檢視此處