当前位置: 代码网 > it编程>编程语言>Java > java日期加减Calendar日历类型常见问题

java日期加减Calendar日历类型常见问题

2025年08月02日 Java 我要评论
java中,我们可以使用calendar类来进行日期的加减操作。常见的方法如下:获取当前日期calendar calendar = calendar.getinstance();date date =

java中,我们可以使用calendar类来进行日期的加减操作。

常见的方法如下:

获取当前日期

calendar calendar = calendar.getinstance();
date date = calendar.gettime();

日期加减

// 加一天
calendar.add(calendar.day_of_month, 1);
// 减一天
calendar.add(calendar.day_of_month, -1);
// 加一小时
calendar.add(calendar.hour_of_day, 1);
// 减一小时
calendar.add(calendar.hour_of_day, -1);
// 加一分钟
calendar.add(calendar.minute, 1);
// 减一分钟
calendar.add(calendar.minute, -1);

获取指定日期的某个字段值

// 获取年份
int year = calendar.get(calendar.year);
// 获取月份(注意:月份从0开始,所以需要加1)
int month = calendar.get(calendar.month) + 1;
// 获取日期
int day = calendar.get(calendar.day_of_month);
// 获取小时
int hour = calendar.get(calendar.hour_of_day);
// 获取分钟
int minute = calendar.get(calendar.minute);
// 获取秒
int second = calendar.get(calendar.second);

获取指定日期的某个字段的最大值

// 获取当前月份的最大天数
int maxday = calendar.getactualmaximum(calendar.day_of_month);

1、simpledateformat类

		date date = new date();
 
		simpledateformat spf = new simpledateformat("yyyy年-mm月-dd日:hh时-mm分-ss秒");
 
		system.out.println(spf.format(date));

        //输出为:
        
        2021年-7月-14日:17时-15分-53秒

2、calendar类

package com.hp.date;

import java.text.simpledateformat;
import java.util.calendar;
import java.util.date;

public class calendardemo{
    public static void main(string[] args) throws exception {
        //获取获取系统的当前日历对象
        calendar instance = calendar.getinstance();

        //1、获取今天是周几
        int weekday = instance.get(calendar.day_of_week);
        system.out.println("今天是周:" + (weekday - 1));

        //2、获取系统当前年
        int year = instance.get(calendar.year);
        system.out.println("今年是:" + year + "年");

        //3、获取系统当前月
        int month = instance.get(calendar.month);
        system.out.println("本月是:" + (month + 1) + "月");

        //4、获取系统当前日
        int day = instance.get(calendar.date);
        system.out.println("今天是" + day + "号");

        //5、获取上午跟下午
        int am_pm = instance.get(calendar.am_pm);
        if (am_pm == 0)
            system.out.println("是上午");
        else
            system.out.println("是下午");

        //6、获取当前的系统时间[date-->string]的过程
        date time = instance.gettime();//获取的是当前系统的时间
        simpledateformat format = new simpledateformat("yyyy-mm-dd hh:mm:ss sss");
        string showtime = format.format(time);
        system.out.println("当前系统时间为:" + showtime);

        //7、自定义日历的时间
        string strtime = "2021-07-07";
        date date = new simpledateformat("yyyy-mm-dd").parse(strtime);
        instance.settime(date);//将时间对象data设置为新的日历
        system.out.println("修改后的系统时间为:" + new simpledateformat("yyyy-mm-dd hh:mm:ss sss").format(instance.gettime()));
    }
    
  		system.out.println("------------calendar和date转换------------");
        date now = calendar.gettime();
        calendar.settime(now);


        system.out.println("------------calendar日期计算以及判断------------");
        calendar = new gregoriancalendar();
        calendar calendar2 = new gregoriancalendar();
        calendar2.set(calendar.year, 2800);
        //是否在某个时间(calendar2)之后
        system.out.println(calendar.after(calendar2));
        //是否在某个时间(calendar2)之前
        system.out.println(calendar.before(calendar2));
        //增加多少年年,月日以及时分秒同理
        calendar.add(calendar.year, -10);

    } 
}

3、异常调试

同时在调用parse这个方法时,会出现异常,
try {

}    catch (parseexception e) {
e.printstacktrace();
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com