Java对Date类进行加减运算

Calendar类的方法
1. getInstance()静态方法
2. getset成员方法

赋值时,我们一般采用 年 月 日 时 分 秒
Calendar.YEAR
Calendar.MONTH
Calendar.DAY_OF_MONTH
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
set(int year ,int month,int date)
set(int year ,int month,int date,int hour,int minute)
set(int year ,int month,int date,int hour,int minute,int second)

//设置周一
set(Calendar.DAY_OF_WEEK, Calendar.MONDAY)
get(Calendar.HOUR); //12小时制
get(Calendar.HOUR_OF_DAY); //24小时制,一般使用这个属性赋值

get(Calendar.Month) ; //这样的方法 0表示一月,1表示二月
get(Calendar.DAY_OF_MONTH); //获得这个月的第几天
get(Calendar.DAY_OF_WEEK); //获得这个星期的第几天
get(Calendar.DAY_OF_YEAR); //获得这个年的第几天
getTimeMillis(); //获得当前时间的毫秒表示
3. getTimesetTimeDate类转化
Date date = new Date();
calendar.setTime(date);
//返回一个由calendar得到的Date对象
Date d = calendar.getTime();
4. add日期加减

calendar.add(Calendar.YEAR,-1);//日期减1年
calendar.add(Calendar.MONTH,3);//日期加3个月
calendar.add(Calendar.DAY_OF_YEAR,10);//日期加10天
calendar.add(Calendar.SECOND,60);//日期加60秒天
calendar.add(Calendar.MINUTE,-10);//日期减10分钟

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

Date endDate = new Date();
String endtime = sdf.format(endDate);

Calendar calendar = Calendar.getInstance();
calendar.setTime(endDate);
calendar.add(Calendar.MINUTE,-10);
Date startDate=calendar.getTime();
String startime = sdf.format(startDate);

log.info("开始时间: {}", startime);
log.info("结束时间: {}", endtime);
5. 计算某一月份的最大天数
Calendar calendar=Calendar.getInstance(); 
calendar.clear(); 
calendar.set(Calendar.YEAR,year); 
calendar.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0             
int day=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
5. beforeafter日期比较
Calendar old = Calendar.getInstance();
old.set(Calendar.YEAR, 2000);

Calendar now = Calendar.getInstance();

System.out.println("old:" + old.getTime());
System.out.println("now:" + now.getTime());
System.out.println("now 日期是在 old 之后? : " + now.after(old));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。