Calendar类
1 Calendar类概念
Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。
西方星期的开始为周日,中国为周一。
在Calendar类中,月份的表示是以0-11代表1-12月。
日期是有大小关系的,时间靠后,时间越大。
n YEAR 年
n MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。
n DATE 天
n HOUR 时
n MINUTE分
n SECOND秒
public class Demo03 {
public static void main(String[] args) {
//返回当前时间
Calendar c=Calendar.getInstance();
System.out.println(c);
//偏移量
c.add(Calendar.YEAR, 1);
c.get(Calendar.YEAR);
System.out.println(c.get(Calendar.YEAR));
//Calendar——>Date
Date date=c.getTime();
System.out.println(date);
//直接设定日历的时间
c.set(Calendar.YEAR, 1996);
c.set(Calendar.MONTH,8);
c.set(Calendar.DATE,12);
Date d2=c.getTime();
System.out.println(d2);
}
}
练习1:
求自己已经出生多少天
public class Demo01 {
//求出自己已经出生多少天
public static void main(String[] args) {
//设定自己出生日期
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR, 1995);
c.set(Calendar.MONTH,10);
c.set(Calendar.DATE,2);
//求出出生日期的毫秒数
Date birthDay=c.getTime();
long l1=birthDay.getTime();
//求出现在日期的毫秒数
Date now=new Date();
long l2=now.getTime();
long day=(l2-l1)/(1000*60*60*24);
System.out.println(day);
}
}
练习2:
求出今天距离2020年1月1日还有多少天
public class Demo02 {
//求出今天距离2020年1月1日还有多少天
public static void main(String[] args) {
//求出现在的毫秒数
Date day1=new Date();
long l1=day1.getTime();
//求出第二个date的毫秒数
Calendar c=Calendar.getInstance();
c.set(Calendar.YEAR, 2020);
c.set(Calendar.MONTH,0);
c.set(Calendar.DATE,1);
long l2 =c.getTime().getTime();
//求出相隔天数
long day=(l2-l1)/(1000*60*60*24);
System.out.println(day);
}
}