1. 程式人生 > >Java的知識點22——時間處理相關類、Date時間類(java.util.Date)、DateFormat類和SimpleDateFormat類

Java的知識點22——時間處理相關類、Date時間類(java.util.Date)、DateFormat類和SimpleDateFormat類

時間處理相關類

用long型別的變數來表示時間,獲得現在時刻的“時刻數值”:long now = System.currentTimeMillis();

Date時間類(java.util.Date)

 在標準Java類庫中包含一個Date類。它的物件表示一個特定的瞬間,精確到毫秒

      1. Date() 分配一個Date物件,並初始化此物件為系統當前的日期和時間可以精確到毫秒)。

      2. Date(long date) 分配 Date 物件並初始化此物件,以表示自從標準基準時間(稱為“曆元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。

      3. boolean  after(Date when) 測試此日期是否在指定日期之後。

      4. boolean  before(Date when) 測試此日期是否在指定日期之前。

      5. boolean equals(Object obj) 比較兩個日期的相等性。

      6. long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 物件表示的毫秒數。

      7. String toString() 把此 Date 物件轉換為以下形式的 String:

        dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一週中的某一天 (Sun、 Mon、Tue、Wed、 Thu、 Fri、 Sat)。

Date類的使用:

package cn.dym10;
import java.util.Date;
public class test05 {
	public static void main(String[] args) {
		Date date1=new Date();
		System.out.println(date1.toString());
		long i=date1.getTime();
		Date date2=new Date(i-1000);
		Date date3=new Date(i+1000);
		System.out.println(date1.after(date2));
		System.out.println(date1.before(date2));
		System.out.println(date1.equals(date2));
		System.out.println(date1.after(date3));
		System.out.println(date1.before(date3));
		System.out.println(date1.equals(date3));
		System.out.println(new Date(1000L*60*60*24*365*39L).toString());
	}
}

檢視API文件可以看到其實Date類中的很多方法都已經過時了。JDK1.1之前的Date包含了:日期操作、字串轉化成時間物件等操作。JDK1.1之後,日期操作一般使用Calendar類,而字串的轉化使用DateFormat類

DateFormat類和SimpleDateFormat類

DateFormat類的作用:

     把時間物件轉化成指定格式的字串。反之,把指定格式的字串轉化成時間物件

     DateFormat是一個抽象類,一般使用它的的子類SimpleDateFormat類來實現。

DateFormat類和SimpleDateFormat類的使用:

package cn.dym10;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test06 {
	public static void main(String [] args) throws ParseException {
		//new出SimpleDateFormat物件
		SimpleDateFormat s1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		SimpleDateFormat s2=new SimpleDateFormat("yyyy-MM-dd");
		//將時間物件轉換成字串
		String daytime=s1.format(new Date());
		System.out.println(daytime);
		System.out.println(s2.format(new Date()));
		System.out.println(new SimpleDateFormat("hh:mm:ss").format(new Date()));
		//將符合指定格式的字串轉換成時間物件,字串格式需要和指定格式一致
		String time="2020-11-15";
		Date date=s2.parse(time);
		System.out.println("date1: "+date);
		time="2020-11-15 20:15:30";
		date=s1.parse(time);
		System.out.println("date2: "+date);
		
	}
}

      注:大寫的M 表示月   小寫的m表示分

時間格式字元的使用:

package cn.dym10;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test07 {
	public static void main(String[] args) {
		SimpleDateFormat s1=new SimpleDateFormat("D");
		String daytime=s1.format(new Date());
		System.out.println(daytime);
	}
}