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);
}
}