在編寫程序時,有時我們需要使用日期和時間,java提供了Calendar 類來提供實現。
獲取系統當前時間
利用Calendar 的靜態方法可以獲取到一個Calendar 對象,其初始值是系統當前時間,代碼如:
import java.util.Calendar;
public class DateDemo {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
System.out.println(calendar.get(Calendar.MILLISECOND));
}
}
上面代碼利用Calendar類 的getInstance方法獲取到一個Calendar對象,代表系統當前時間。
然后利用其get方法,傳入不同的參數值,獲取不同的日期時間信息。
上面的代碼按順序輸出當前的日期、時間信息:
- 年
- 月 (注意get返回的月份是從0開始的,即0代表1月,所以實際輸出時加了1)
- 日
- 小時
- 分鐘
- 秒
- 毫秒
設置日期時間
有了Calendar對象,我們可以調用set方法來修改其中的日期、時間值。如:
import java.util.Calendar;
public class DateDemo {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2050,9, 1);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH)+1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
}
}
注意,set方法第二個參數是月份,從0開始,0代表1月。這里的9代表10月。set有很多種參數格式,代表不同的含義。
日期操作
在編寫程序時,有時我們需要進行日期操作,比如獲取幾天前的日期。Calendar同樣提供了實現機制。如:
import java.util.Calendar;
public class DateDemo {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 2);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
calendar.add(Calendar.DAY_OF_MONTH, -4);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
}
}
add方法可以將日期、時間往前和往后移動指定的數值。
Calendar類有很多方法,提供了非常豐富的日期、時間操作,上面的介紹只是一些最常用的.