java 根据某个数字,计算前后多少天的具体日期

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 );
        
    }
    
}

 

posted @ 2018-12-17 19:27  柒弦宇轩  阅读(333)  评论(0编辑  收藏  举报