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); } }