获取指定日期 前 / 后 一天
1 package com.ping; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Calendar; 5 6 public class Test { 7 8 /** 9 * 获取指定日期前一天 10 * @param specifiedDate 指定日期 11 * @return 12 * @throws Exception 13 */ 14 public static String getSpecifiedDateBefore(String specifiedDate) throws Exception { 15 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 16 17 Calendar calendar = Calendar.getInstance(); 18 calendar.setTime(sdf.parse(specifiedDate)); 19 calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) - 1); 20 21 return sdf.format(calendar.getTime()); 22 } 23 24 /** 25 * 获取指定日期后一天 26 * @param specifiedDate 指定日期 27 * @return 28 * @throws Exception 29 */ 30 public static String getSpecifiedDateAfter(String specifiedDate) throws Exception { 31 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 32 33 Calendar calendar = Calendar.getInstance(); 34 calendar.setTime(sdf.parse(specifiedDate)); 35 calendar.set(Calendar.DATE, calendar.get(Calendar.DATE) + 1); 36 37 return sdf.format(calendar.getTime()); 38 } 39 40 public static void main(String[] args) { 41 try { 42 String date = "2017-08-21"; 43 System.out.println("当前日期: " + date + ", 前一天: " + getSpecifiedDateBefore(date)); 44 System.out.println("当前日期: " + date + ", 后一天: " + getSpecifiedDateAfter(date)); 45 } catch (Exception e) {} 46 } 47 48 // 打印结果: 49 // 当前日期: 2017-08-21, 前一天: 2017-08-20 50 // 当前日期: 2017-08-21, 后一天: 2017-08-22 51 }