import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateChange { public static void main( String args[] ) { // 获取当前日期 SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMdd" ); String str = sdf.format( System.currentTimeMillis() ); System.out.println( str ); // 将字符串的日期转为 Date 类型, ParsePosition(0) 表示从第一个字符开始解析 Date dateParse = sdf.parse( str, new ParsePosition(0) ); Calendar calendar = Calendar.getInstance(); calendar.setTime( dateParse ); // add 方法中的第二个参数n中, 正数表示该日期后 n 天, 负数表示该日期的前 n 天 calendar.add( Calendar.DATE, -31 ); Date dateTime = calendar.getTime(); String date = sdf.format( dateTime ); System.out.println( date ); } }