Calendar是日曆類,在Date後出現,替換掉了許多Date的方法。該類將全部可能用到的時間信息封裝爲靜態成員變量,方便獲取。java
Calendar爲抽象類,因爲語言敏感性,Calendar類在建立對象時並不是直接建立,而是經過靜態方法建立,將語言敏感內容處理好,再返回子類對象orm
l public static Calendar getInstance() //獲取日期對象對象
l public int get(int field) //獲取時間字段值,字段參見幫助文檔blog
n YEAR 年文檔
n MONTH 月,從0開始算起,最大11;0表明1月,11表明12月。get
n DATE 天io
n HOUR 時function
n MINUTE分class
n SECOND秒test
代碼演示:
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
l public void add(int field,int amount) //指定字段增長某值
代碼演示:
Calendar c = Calendar.getInstance();
//修改當前時間爲3天后
c.add(Calendar.DATE, 3);
//修改當前時間爲5小時後
c.add(Calendar.HOUR, 5);
l public final void set(int field,int value)//設置指定字段的值
代碼演示:
Calendar c = Calendar.getInstance();
//設置時間爲2020年5月20日
c.set(Calendar.YEAR, 2020);
c.set(Calendar.MONTH, 4);
c.set(Calendar.DATE, 20);
l public final Date getTime() //獲取該日曆對象轉成的日期對象
代碼演示:
Calendar c = Calendar.getInstance();
Date d = c.getTime();
1.獲取當前時間對應的天數
2.獲取本身出生日期對應的天數
3.兩個時間相減(當前時間天數 – 出生日期天數)
package myjava.test;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) throws Exception {
function();
}
public static void function() throws Exception {
System.out.println("請輸入出生日期,格式YYYY-MM-dd");
Scanner sc=new Scanner(System.in);
String birthdayString = sc.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthdayDate = sdf.parse(birthdayString);
Date todayDate = new Date();
long birthdaySecond = birthdayDate.getTime();
long todaySecond = todayDate.getTime();
long secone = todaySecond - birthdaySecond;
if(secone <0) {
System.out.println("還沒出生呢");
} else {
System.out.println(secone/1000/60/60/24);
}
}
}