结论:(总结一下就是下面的这三句话,大家牢记就好)
使用Date对象存储日期的数据, -- 用于获取服务器当前时间和存储
用Calendar操作Date对象中的日期对象的数据, --用于获取年,月,日。或者日期,月份加减
用SimpleDateFormat做Date对象和日期字符串的相互转换 --用于输入标准格式的日期
1.Data
获取当前日期
Date curTime=new Data();
2. SimpleDateFormat
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
24小时值,注意MM HH 一定要大写,否则会有异常
自定义时间
Date date=sd.parse("2021-07-15 15:30:00");
3.Calendar
设置时间
cal.set(2021, 7, 31, 00, 05, 00); 获当前时间的年月日 Calendar rightNow = Calendar.getInstance(); // 子类对象 // 获取年 int year = rightNow.get(Calendar.YEAR); // 获取月 int month = rightNow.get(Calendar.MONTH); // 获取日 int date = rightNow.get(Calendar.DATE); //获取几点
日期操作,例如日期相加
cal.add(Calendar.DATE,1);
//判断当前月最后一天 用日期 如果当前日期+1,第二天月份和当前月份不通过,则不执行 Calendar cal=Calendar.getInstance(); cal.set(2021, 7, 31, 00, 05, 00); System.out.println("当前时间点:"+sd.format(cal.getTime())); int curDayMonth=cal.get(Calendar.MONTH); cal.add(Calendar.DATE,1); int nextDayMonth=cal.get(Calendar.MONTH); if(nextDayMonth!=curDayMonth){ throw new Exception } //判断当前月第一天 用日期 如果当前日期-1,前一天的月份和当前月份不通过,则不执行 Calendar calNew=Calendar.getInstance(); calNew.set(2021, 12, 2, 00, 00, 00); System.out.println("当前时间点:"+sd.format(calNew.getTime())); int curDayMonthNew=calNew.get(Calendar.MONTH); calNew.add(Calendar.DATE,-1); int preDayMonth=calNew.get(Calendar.MONTH); if(preDayMonth!=curDayMonthNew){ throw new Exception }