Calendar的日常应用
日常开发中经常会需要计算出当前时间的一周之前的Date,或者当前之后的时间点,
Calendar类是Java官方推荐使用的日期计算的类,直接代码说明:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import java.util.Calendar; 2 import java.util.Date; 3 import java.util.GregorianCalendar; 4 5 6 public class CalendarTest { 7 8 public static void main(String[] args) { 9 10 //当前时间 11 Date now = new Date(); 12 13 System.out.println("现在时间:"+now.toLocaleString()); 14 15 Calendar calendar = new GregorianCalendar(); 16 17 //将Date设置到Calendar中 18 calendar.setTime(now); 19 20 /** 21 * Calendar中有set方法和get方法 22 * get方法将根据传入的参数值反回相应的值 23 * Calendar.DATE反回的是天数 24 * Calendar.MONTH返回的是月 25 */ 26 //获得当前时间之前一周时间点 27 calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 7); 28 29 System.out.println("一周之前时间:"+calendar.getTime().toLocaleString()); 30 31 //1个月零一周以前的时间 32 calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); 33 34 System.out.println("一个月零一周以前的时间"+calendar.getTime().toLocaleString()); 35 36 } 37 }
二、在数据库中查询出当天的的记录。
1 FmOperLogExample example = new FmOperLogExample(); 2 Criteria criteria = example.createCriteria(); 3 criteria.andLaunchNumEqualTo(phoneNum); 4 5 Date dt = new Date();// 取时间 6 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 7 String strDate=sdf.format(dt); 8 9 Calendar calendar = Calendar.getInstance(); 10 try { 11 Date bDate = sdf.parse(strDate); 12 calendar.setTime(bDate); 13 // calendar.add(Calendar.DAY_OF_MONTH, 1); 14 calendar.set(Calendar.DATE, calendar.get(Calendar.DATE)+1); 15 Date eDate = calendar.getTime(); 16 criteria.andCrtTimeBetween(bDate, eDate); 17 18 } catch (ParseException e) { 19 // TODO Auto-generated catch block 20 e.printStackTrace(); 21 }