Java日期操作Calendar常用方法、常量、日期操纵的使用


提示:以下是本篇文章正文内容,下面案例可供参考

一、Calendar实例

Calendar calendar = Calendar.getInstance();
// 设置时间
calendar.setTime(new Date());

二、Calendar常量

常量说明
Calendar.ERA纪元(0=公元前,1=公元)
Calendar.YEAR
Calendar.MONTH月(0=1月,1=2月,2=3月)
Calendar.DATE
Calendar.HOUR时,今天几点了(12小时制)
Calendar.HOUR_OF_DAY时,今天几点了(24小时制)
Calendar.MINUTE分钟
Calendar.SECOND
Calendar.MILLISECOND毫秒
Calendar.DAY_OF_YEAR今天是一年中的第几天
Calendar.WEEK_OF_YEAR现在是一年中的第几个星期
Calendar.DAY_OF_MONTH今天是一个月中的第几天
Calendar.DAY_OF_WEEK_IN_MONTH现在是一个月中的第几个星期
Calendar.WEEK_OF_MONTH现在是一个月中的第几个星期(同上)
Calendar.DAY_OF_WEEK今天是周几(1=周日,2=周一,3=周二)
Calendar.AM_PM现在是中午之前还是中午之后(0=中午12点之前,1=中午12点(包括12点)之后)
Calendar.JANUARY1月
Calendar.FEBRUARY2月
Calendar.MARCH3月
Calendar.APRIL4月
Calendar.MAY5月
Calendar.JUNE6月
Calendar.JULY7月
Calendar.AUGUST8月
Calendar.SEPTEMBER9月
Calendar.OCTOBER10月
Calendar.NOVEMBER11月
Calendar.DECEMBER12月

三、Calendar方法

方法说明
int get(int field)获取日历字段的值,field参数可以是Calendar常量
void set(int field, int value)给指定日历字段设置值
void set(int year, int month, int date)设置Calendar中的年、月、日
void set(int year, int month, int date, int hourOfDay, int minute)设置Calendar中的年、月、日、时、分
void set(int year, int month, int date, int hourOfDay, int minute, int second)设置Calendar中的年、月、日、时、分、秒
void add(int field, int amount)给指定的一个日历字段进行整数的偏移(加/减日期)
boolean after(Object when)判断d2的日期是否在d1的日期之后。入参必须是Calendar对象。例如:d2.after(d1)
boolean before(Object when)判断d1的日期是否在d2的日期之前。入参必须是Calendar对象。例如:d1.before(d2)
boolean equals(Object obj)判断d1的日期是否等于d2所表示的日期。入参必须是Calendar对象。例如:d1.equals(d2)
int compareTo(Calendar anotherCalendar)比较2个日期。如果d1<d2则返回-1,如果d1==d2则返回0,d1>d2则返回1。例如:d1.compareTo(d2),
int getActualMaximum(int field)获取指定日历字段最大值,例如:d1.getActualMaximum(Calendar.DAY_OF_MONTH),获取本月最后一天的号数
int getActualMinimum(int field)获取指定日历字段最小值,例如:d1.getActualMinimum(Calendar.DAY_OF_MONTH),获取本月第一天的号数
long getTimeInMillis()获取日历对象的毫秒值
int getFirstDayOfWeek()获取一周的第一天是什么
TimeZone getTimeZone()获取时区

四、Calendar日期操作

	@Test
    public void testCalendar(){
        // 获取当前日期
        Date date = new Date();
        // 将时间格式化成yyyy-MM-dd HH:mm:ss的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 创建Calendar实例
        Calendar calendar = Calendar.getInstance();
        // 设置当前时间
        calendar.setTime(date);

        /* 获取日期字段值 */
        calendar.get(Calendar.ERA);                     // 纪元(0=公元前,1=公元)
        calendar.get(Calendar.YEAR);                    // 年
        calendar.get(Calendar.MONTH);                   // 月(0=1月,1=2月,2=3月)
        calendar.get(Calendar.DATE);                    // 日
        calendar.get(Calendar.HOUR);                    // 时,今天几点了(12小时制)
        calendar.get(Calendar.HOUR_OF_DAY);             // 时,今天几点了(24小时制)
        calendar.get(Calendar.MINUTE);                  // 分钟
        calendar.get(Calendar.SECOND);                  // 秒
        calendar.get(Calendar.MILLISECOND);             // 毫秒

        calendar.get(Calendar.DAY_OF_YEAR);             // 今天是一年中的第几天
        calendar.get(Calendar.WEEK_OF_YEAR);            // 现在是一年中的第几个星期
        calendar.get(Calendar.DAY_OF_MONTH);            // 今天是一个月中的第几天
        calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);    // 现在是一个月中的第几个星期
        calendar.get(Calendar.WEEK_OF_MONTH);           // 现在是一个月中的第几个星期(同上)
        calendar.get(Calendar.DAY_OF_WEEK);             // 今天是周几(1=周日,2=周一,3=周二)
        calendar.get(Calendar.AM_PM);                   // 现在是中午之前还是中午之后(0=中午12点之前,1=中午12点(包括12点)之后)

        /* 月份需要加1,因为索引从0开始。所以你需要+1来获得正确的月份 */
        System.out.println(Calendar.JANUARY);   // 1月
        System.out.println(Calendar.FEBRUARY);  // 2月
        System.out.println(Calendar.MARCH);     // 3月
        System.out.println(Calendar.APRIL);     // 4月
        System.out.println(Calendar.MAY);       // 5月
        System.out.println(Calendar.JUNE);      // 6月
        System.out.println(Calendar.JULY);      // 7月
        System.out.println(Calendar.AUGUST);    // 8月
        System.out.println(Calendar.SEPTEMBER); // 9月
        System.out.println(Calendar.OCTOBER);   // 10月
        System.out.println(Calendar.NOVEMBER);  // 11月
        System.out.println(Calendar.DECEMBER);  // 12月

        /* 设置指定日期 */
        calendar.set(2023, Calendar.OCTOBER, 28);   // 设置指定年月日
        calendar.set(2023, Calendar.OCTOBER, 28, 10, 1);    // 设置指定年月日时分
        calendar.set(2023, Calendar.OCTOBER, 28, 10, 1, 30);    // 设置指定年月日时分秒
        calendar.set(Calendar.YEAR, 2023);          // 设置年份
        calendar.set(Calendar.MONTH, 10);           // 设置月份,注意0代表1月
        calendar.set(Calendar.DATE, 28);            // 设置天数
        calendar.set(Calendar.HOUR_OF_DAY, 10);     // 设置小时(24小时制)
        calendar.set(Calendar.MINUTE, 6);           // 设置分钟
        calendar.set(Calendar.SECOND, 30);          // 设置秒
        calendar.set(Calendar.MILLISECOND, 235);    // 设置毫秒

        /* 加/减日期,正数=加,负数=减 */
        calendar.add(Calendar.YEAR, 2);             // 在当前时间基础上,加2年
        calendar.add(Calendar.YEAR, -1);            // 在当前时间基础上,减1年
        calendar.add(Calendar.MONTH, 1);            // 在当前时间基础上,加1月
        calendar.add(Calendar.MONTH, -1);           // 在当前时间基础上,减1月
        calendar.add(Calendar.DATE, 2);             // 在当前时间基础上,加2天
        calendar.add(Calendar.DATE, -1);            // 在当前时间基础上,减1天
        calendar.add(Calendar.HOUR_OF_DAY, 1);      // 在当前时间基础上,加1小时(24小时制)
        calendar.add(Calendar.HOUR_OF_DAY, -1);     // 在当前时间基础上,减1小时(24小时制)
        calendar.add(Calendar.MINUTE, 30);          // 在当前时间基础上,加30分钟
        calendar.add(Calendar.MINUTE, -30);         // 在当前时间基础上,减30分钟
        calendar.add(Calendar.SECOND, 30);          // 在当前时间基础上,加30秒
        calendar.add(Calendar.SECOND, -30);         // 在当前时间基础上,减30秒
        calendar.add(Calendar.DATE, 7);             // 在当前时间基础上,加7天
        calendar.add(Calendar.DATE, -7);            // 在当前时间基础上,减7天
        calendar.add(Calendar.MILLISECOND, 1000);   // 在当前时间基础上,加1000毫秒
        calendar.add(Calendar.MILLISECOND, -1000);  // 在当前时间基础上,减1000毫秒

        System.out.println(sdf.format(calendar.getTime()));
    }
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Calendar是一个非常有用的类,用于操作日期和时间的对象。下面是使用Java Calendar的一些示例: 1. 获取当前日期和时间: ```java Calendar calendar = Calendar.getInstance(); Date currentTime = calendar.getTime(); System.out.println("当前时间为:" + currentTime); ``` 2. 获取指定日期的年、月、日: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("年:" + year + " 月:" + month + " 日:" + day); ``` 3. 获取指定日期是星期几: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); System.out.println("星期" + (dayOfWeek - 1)); ``` 4. 获取指定日期的下一个月的日期: ```java Calendar calendar = Calendar.getInstance(); calendar.set(2021, 6, 1); calendar.add(Calendar.MONTH, 1); Date nextMonthDate = calendar.getTime(); System.out.println("下一个月的日期为:" + nextMonthDate); ``` 5. 比较两个日期的大小: ```java Calendar calendar1 = Calendar.getInstance(); calendar1.set(2021, 6, 1); Calendar calendar2 = Calendar.getInstance(); calendar2.set(2021, 7, 1); int result = calendar1.compareTo(calendar2); if (result == 0) { System.out.println("两个日期相同"); } else if (result < 0) { System.out.println("第一个日期在第二个日期之前"); } else { System.out.println("第一个日期在第二个日期之后"); } ``` 这些示例只是使用Java Calendar的一些常见操作Calendar还有很多其他的方法可以使用

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值