1. 方法1: 如果是 java8, 可以使用 LocalDate 获取
// 获取当前日期前一天的日期LocalDate localDate = LocalDate.now().minusDays(1);// 获取时间字符串如: -03-01System.out.println(localDate.toString());// 获取当前年如 System.out.println(localDate.getYear());// 获取当前月如 3System.out.println(localDate.getMonthValue());// 获取当前天如 1System.out.println(localDate.getDayOfMonth());
LocalDate转化为指定格式的字符串
方法1
LocalDate localDate = LocalDate.parse("-05-08");String date = localDate.format(DateTimeFormatter.ofPattern("MMM dd, yyyy"));System.out.println(date); //May 08,
方法2
LocalDate localDate = LocalDate.parse("-05-08");DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMM dd, yyyy");String date = dtf.format(localDate);System.out.println(date); //May 08,
2. 方法2: 使用 Calendar 类
//获取当前日期Date date = new Date();//将时间格式化成yyyy-MM-dd HH:mm:ss的格式SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//创建Calendar实例Calendar cal = Calendar.getInstance();//设置当前时间cal.setTime(date);//在当前时间基础上减一年cal.add(Calendar.YEAR, -1); System.out.println(format.format(cal.getTime()));//在当前时间基础上减一月cal.add(Calendar.MONTH,-1);System.out.println(format.format(cal.getTime()));//同理增加一天的方法:cal.add(Calendar.DATE, 1);System.out.println(format.format(cal.getTime()));
参考:
Java在当前日期基础上加一年、一个月或一天