日期處理類
Date類
- 當前日期時間 java.util.Date
import java.util.Date;
public class TestDemo {
public static void main(String [] args) {
Date date = new Date();
System.out.println(date);
}
}
- 運行結果:
Sat Jun 29 21:56:04 CST 2019
上述的結果表示的就是當前的日期時間,為國際標准的格式;
當然我們可以使用其他格式輸出日期時間
構造方法
-
無參構造: public Date()
-
有參構造: public Date(long date)
- 接收 long 型數據,相當於把long數據轉為Date
-
轉換為 long 型: public long getTime()
- 將Date數據轉為long型數據,便於格式化輸出處理
system.currentTimeMillis() :取得當前的日期時間並以long型返回
import java.util.Date;
public class TestDemo {
public static void main(String [] args) {
long time = System.currentTimeMillis();// 取得系統時間
Date date = new Date( time );
System.out.println(date);
System.out.println(date.getTime());
}
}
- 運行結果:
Sat Jun 29 22:07:16 CST 2019
1561817236726
日期格式化*
SimpleDateFormat *
-
包:java.text.SimpleDateFormat
- 專門實現國際化開發的包
- simpleDateFormat是專門處理日期格式的類,轉換為String顯示
-
構造方法*:
- public SimpleDateFormat(String pattern)
-
將Date轉換為String*:
- public final String format( Date date )
-
將String轉換為Date*:
- public Date parse(String source) throws ParseException
常見的轉換格式單位
單位 | 簡寫(使用) | 表示 |
---|---|---|
年 | yyyy | year |
月 | MM | month |
日 | dd | Day in month |
時 | HH | Hour in day(0~23) |
分 | mm | Minute in hour |
秒 | ss | Second in minute |
毫秒 | S | Millisecond |
實例
日期格式的轉換
- 將Date數據轉為 String型數據
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String [] args) {
Date date = new Date() ;
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
String str = SDF.format(date);
// format: 將Date型數據變為 String型數據
System.out.println(str);
}
}
- 運行結果:
2019-06-29 22:24:50:777
程序功能簡單說:
首先是Date獲取時間對象,通過 SimpleDateFormat類進行日期格式化,在然后通過 format()方法將日期格式轉為輸出String型。
字符串轉為日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDemo {
public static void main(String [] args) throws ParseException {
String str = "2012-12-25 00:00:00:000" ;
SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
Date date = SDF.parse(str) ; //將SDF(String型)轉為Date型
System.out.println(date);
}
}
- 運行結果:
Tue Dec 25 00:00:00 CST 2012
總結:
-
Date 與 String 類之間的轉換依靠:SimpleDateFormat
-
String與基本數據類之間轉換依靠:String。valueOf()
-
long 與 Date 轉換依靠的是 Date 類提供的構造以及 getTime()
Calendar 類
-
日期計算
-
Calendar是一個抽象類
import java.text.ParseException;
import java.util.Calendar;
public class TestDemo {
public static void main(String [] args) throws ParseException {
Calendar cal = Calendar.getInstance(); // 取得本類對象
StringBuffer buf = new StringBuffer();
// buf 依次 append 年 月 日 時 分 秒 毫秒
buf.append(cal.get(Calendar.YEAR)).append("-");
buf.append(cal.get(Calendar.MONTH) + 1).append("-");
buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" ");
buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":");
buf.append(cal.get(Calendar.MINUTE)).append(":");
buf.append(cal.get(Calendar.SECOND)).append(":");
buf.append(cal.get(Calendar.MILLISECOND));
// 可以在append中,對日期時間進行計算操作
System.out.println(buf);
}
}
總結
- 數據庫中的日期型數據使用 java.uitl.Date 表示
- 代碼模型:SimpleDateFormat 類實現String與Date型數據的互相轉換