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);
    }
}
复制代码
posted @ 2019-04-13 14:46  LiuXiaoZhang  阅读(490)  评论(0编辑  收藏  举报