Calendar日历类

37 篇文章 0 订阅

Calendar日历类

Calendar类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示和计算。
GregorianCalendar的具体子类,提供了世界上绝大多数国家/地区使用的标准日历系统。

注意:
月份的表示,一月是0,二月是1,以此类推十二月是11,因为大多数人习惯于使用单词而不是数字表示月份,这样程序也更易读,父类Calendar使用常量来表示月份:JANUARY、FEBRUARY等等。

GregorianCalendar类和Calendar类的使用:

mport java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;

/**
 * 测试Calendar日历类
 */
public class TestCalendar {
    public static void main(String[] args) {
//        得到相关日期元素:
        GregorianCalendar calendar = new GregorianCalendar(2999,10,9
                ,22,10,50);
        int year = calendar.get(Calendar.YEAR);//打印2999
        int month = calendar.get(Calendar.MONTH);//打印10
        int day = calendar.get(Calendar.DAY_OF_MONTH);//打印9
        int day1 = calendar.get(Calendar.DATE);//打印9
        int hour = calendar.get(Calendar.HOUR);//打印22
        int minute = calendar.get(Calendar.MINUTE);//打印10
        int second = calendar.get(Calendar.SECOND);//打印50
//        日:Calendar.Date和Calendar.DAY_OF_MONTH同义
        int date = calendar.get(Calendar.DAY_OF_WEEK);//打印3
//        周几这里是1-7周日是1,周一是2.。。周六十7
        System.out.println(year);
        System.out.println(month);
        System.out.println(day);
        System.out.println(day1);
        System.out.println(date);

//        设置日期
        GregorianCalendar calendar2 = new GregorianCalendar();
        calendar2.set(Calendar.YEAR,2999);
        calendar2.set(Calendar.MONTH,Calendar.FEBRUARY);
        calendar2.set(Calendar.DATE,3);
        calendar2.set(Calendar.HOUR_OF_DAY,10);
        calendar2.set(Calendar.MINUTE,20);
        calendar2.set(Calendar.SECOND,23);
        printCalendar(calendar2);
//        日期计算
        GregorianCalendar calendar3 = new GregorianCalendar(2999,10,9
                ,22,10,50);
        calendar3.add(Calendar.MONTH,-7);//月份减7
        calendar3.add(Calendar.DATE,7);//天数增加7
        printCalendar(calendar3);
//        日历对象和时间对象转换
        Date d = calendar3.getTime();
        GregorianCalendar calendar4  = new GregorianCalendar();
        calendar4.setTime(new Date());


    }
    static  void printCalendar(Calendar calendar){
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH)+1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int date = calendar.get(Calendar.DAY_OF_WEEK)-1;//星期几
        String week = ""+((date==0)?"日":date);
        int  hour = calendar.get(Calendar.HOUR);
        int minute = calendar.get(Calendar.MINUTE);
        int sencond = calendar.get(Calendar.SECOND);
        System.out.printf("%d年%d月%d日,星期%s %d:%d:%d\n",year,month,day,week,hour,minute,sencond);

    }

}


运行结果:
2021-06-19 04:26:48
2021-06-19
04:26:48
2021年 第25周 星期六
202106月第03周星期六
今天是今年第170天
dat1 :Mon Mar 04 00:00:00 CST 2030
date2 :Mon Mar 04 13:24:22 CST 2030

1、时间是一维的,在计算机中就是一个long类型的数字,选1970.1.1. 00:00:00:00为原点,单位为毫秒(1/1000),
2、DateFormat的作用是时间对象和字符串互相转化、
3、DateFormat是SimplementDateFormat的父类
4、Calendar的作用是提供了日期计算的相关功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值