Date
- Date類
- 是java.util.Date; 而非 java.sql.Date,此類是給資料庫通路的時候使用的
- 時間原點概念
- 所有的資料類型,無論是整數,布爾,浮點數還是字元串,最後都需要以數字的形式表現出來。
- 零這個數字,就代表Java中的時間原點,其對應的日期是1970年1月1日 8點0分0秒 。
- 所有的日期,都是以為這個0點為基準,每過一毫秒,就+1。
package date;
//
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
// 目前時間
Date d1 = new Date();
System.out.println("目前時間:");
System.out.println(d1);
System.out.println();
// 從1970年1月1日 早上8點0分0秒 開始經曆的毫秒數
Date d2 = new Date(5000);
System.out.println("從1970年1月1日 早上8點0分0秒 開始經曆了5秒的時間");
System.out.println(d2);
}
}
目前時間:
Fri Jan 18 15:14:06 CST 2019
從1970年1月1日 早上8點0分0秒 開始經曆了5秒的時間
Thu Jan 01 08:00:05 CST 1970
- getTime() 得到一個long型的整數
- 目前日期的毫秒數
- new Date().getTime() 和 System.currentTimeMillis() 是一樣的
日期格式化
- SimpleDateFormat 日期格式化類
- y 代表年
- M 代表月
- d 代表日
- H 代表24進制的小時
- h 代表12進制的小時
- m 代表分鐘
- s 代表秒
- S 代表毫秒
package date;
//
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
//y 代表年
//M 代表月
//d 代表日
//H 代表24進制的小時
//h 代表12進制的小時
//m 代表分鐘
//s 代表秒
//S 代表毫秒
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );
Date d= new Date();
String str = sdf.format(d);
System.out.println("目前時間通過 yyyy-MM-dd HH:mm:ss SSS 格式化後的輸出: "+str);
SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );
Date d1= new Date();
String str1 = sdf1.format(d1);
System.out.println("目前時間通過 yyyy-MM-dd 格式化後的輸出: "+str1);
}
}
字元串轉日期
package date;
//
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );
String str = "2016/1/5 12:12:12";
try {
Date d = sdf.parse(str);
System.out.printf("字元串 %s 通過格式 yyyy/MM/dd HH:mm:ss %n轉換為日期對象: %s",str,d.toString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Calendar
Calendar與Date進行轉換
package date;
//
import java.util.Calendar;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
//采用單例模式擷取月曆對象Calendar.getInstance();
Calendar c = Calendar.getInstance();
//通過月曆對象得到日期對象
Date d = c.getTime();
Date d2 = new Date(0);
c.setTime(d2); //把這個月曆,調成日期 : 1970.1.1 08:00:00
}
}