日历类Calendar的使用

日历类Calendar

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(date);
//获得本月第一天
        calendar.add(Calendar.MONTH, 0);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        String firstDay = sdf.format(calendar.getTime());
        System.out.println("firstDay:"+ firstDay);
//获得本月最后一天
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        String lastDay = sdf.format(calendar.getTime());
        System.out.println("lastDay"+lastDay);

1.使用get()方法获取时间

Calendar cal=Calendar.getInstance();

cal.get(Calendar.YEAR);//获取当前年份

cal.get(Calendar.MONTH) + 1; //获取当前月份,需要+1

cal.get(Calendar.DATE);//获取当前天数,

cal.getActualMaximum(Calendar.DATE);//当前月最大天数

cal.getActualMinimum(Calendar.DATE);//当前月最小天数

cal.get(Calendar.HOUR_OF_DAY);//获取当前处于一天中的第几个小时,

cal.get(Calendar.MINUTE);//获取当前分钟数

cal.get(Calendar.SECOND);//获取当前秒数

cal.get(Calendar.DAY_OF_WEEK);//星期(Locale.ENGLISH情况下,周日是1,周一2,周二3,周三4,周四5,周五6,周六7)

//如果需要将获得到的时间格式化输出,则需要使用SimpleDateFormart 模式为yyyy-MM-dd HH:mm:ss

SimpleDateFormat sdf= new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

Date date=cal.getTime();

System.out.println(“格式化时间:”+sdf.format(date));

2.使用set()方法来进行设置指定时间

Calendar cal=Calendar.getInstance();

cal.set(2022, 3, 3, 13, 44, 51);//年月日时分秒(月份0代表1月)

cal.set(Calendar.YEAR, 2022);//年

cal.set(Calendar.MONTH, 7);//月(月份0代表1月)

cal.set(Calendar.DATE, 11);//日

cal.set(Calendar.HOUR_OF_DAY, 15);//时

cal.set(Calendar.MINUTE, 3);//分

cal.set(Calendar.SECOND, 32);//秒

设置时间之后用getTime()得到时间 例如:

SimpleDateFormat format1 = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

System.out.println(“设置指定时间:”+format1.format(cal.getTime()) );

3.使用add()方法对时间进行运算

Calendar cal=Calendar.getInstance();

cal.add(Calendar.YEAR, 1);//给当前年份加1年,-1就是减一年

cal.add(Calendar.MONTH, 1);//给当前月加1月

cal.add(Calendar.DATE, 1);//当前时间+1

cal.add(Calendar.HOUR_OF_DAY, -1);//当前小时-1

cal.add(Calendar.MINUTE, 1);//分

cal.add(Calendar.SECOND, 1);//秒

cal.add(Calendar.DATE, 7);//周

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值