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();
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
            
                                            
                                            
                                            
                                            
                                            
                                            
发表评论