1 Date日期處理類
從整體的Java來講一直在強調簡單Java類的主要設計來自於數據表的結構,那麼在數據表的結構裏面常用的類型:數字、字符串、日期。
在Java裏面提供有一個java.util.Data的類,這個類如果直接實例化,就可以獲取當前日期時間。
範例:觀察java.util.Data類
package cn.victor.demo;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
}
}
這個時候需要進一步去觀察Data類中的構造方法:
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
通過以上的源代碼分析可以得出一個結論:Date類中只是對long數據的一種包裝。所以Date類中一定提供有所謂的日期與long數據類型之間轉換的方法:
(1)將long轉爲日期:public Date(long date)
(2)將Date轉爲long:public long getTime()
範例:觀察Date與long之間的轉換
package cn.victor.demo;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime() + 864000000;
System.out.println(new Date(time));
}
}
long之中可以保存毫秒的數據級,這樣方便程序的處理。
2 SimpleDateFormat日期處理類
雖然Date可以獲取當前的日期時間,但是默認情況下Date類輸出的日期時間結構並不能夠被國人所習慣,現在就需要對顯示的格式進行格式化處理,爲了可以格式化日期,在java.text包中提供有SimpleDateFormat程序類。該類是DateFormat的子類,在該類中提供有如下方法:
(1)【DateFormat】將日期格式化:public final String format(Date date)
(2)【DateFormat】將字符串轉爲日期:public Date parse(String source) throws ParseException
(3)構造方法:public SimpleDateFormat(String pattern)
|——日期格式:年(yyyy)、月(MM)、日(dd)、時(HH)、分(mm)、秒(ss)、毫秒(SSS)。
範例:格式化日期顯示
package cn.victor.demo;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
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
package cn.victor.demo;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) throws ParseException {
String birthday = "1996-10-15 23:23:23.233";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
Date date = sdf.parse(birthday);
System.out.println(date);
}
}
如果在進行字符串定義的時候,所使用的日期時間數字超過了指定的合理範圍,則會自動進行進位處理。
範例:數字格式化
package cn.victor.demo;
import java.text.NumberFormat;
import java.text.ParseException;
public class DateDemo {
public static void main(String[] args) throws ParseException {
double money = 23243434.233333;
NumberFormat nf = NumberFormat.getInstance();
System.out.println(nf.format(money));
}
}
通過學習發現,String字符換可以向所有類型轉換,基本類型、日期類型。