자바 시스템 날짜 에 따라 전날, 다음날 시간 가 져 오기 (초기 날짜 에 따라 기대 (앞/뒤로) 날짜 추정)...

2864 단어

1. 상황 전시
   자바 시스템 현재 날짜 에 따라 전날 날짜, 다음날 날 짜 를 가 져 오 거나 초기 날짜 에 따라 기대 (앞/뒤로) 날 짜 를 계산 합 니 다.
2. 해결 방안
가이드 백
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

방법 1:
/**
 *           (  /  )  
 * @param initTime
 *         (initTime   null、Date、String    )
 * @param n
 *       /    n (n      、0、   )
 * @return
 *              
 */
public static String getCalculateDay(Object initTime,int n){
    //         
    String calculateDay = "";
    try {
        //       Calendar
        Calendar calendar = Calendar.getInstance();  
        //          
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        //     
        Date initDate = null;
        //       
        if (null == initTime) {
            //        
            initDate = new Date();
        } else if (initTime instanceof Date) {
            initDate = (Date)initTime;
        } else {
            //              Date
            initDate = sdf.parse((String)initTime);
        }
        
        //       
        calendar.setTime(initDate);
        //           
        calendar.add(Calendar.DATE, n);
        //         
        Date calculateDate = calendar.getTime();
        //      
        calculateDay = sdf.format(calculateDate);
    } catch(ParseException e) {
        e.printStackTrace();
    }
    return calculateDay;
}

방법 2:
/**
 *           (  /  )  
 * @param initTime
 *         
 * @param n
 *       /    n 
 * @return
 *           
 */
public static String getCalculateDay2(Object initTime,int n) throws ParseException{  
    //         
    String calculateDay = "";
    
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    //     
    Date initDate = null;
    
    if (null == initTime)
    	initDate = new Date();
	else if (initTime instanceof Date)
		initDate = (Date)initTime;
    else
    	initDate = sdf.parse((String)initTime);
    
    //      1970 0 0     
    Long initMilliSeconds = initDate.getTime();
    //         
    int oneDayTime = 24 * 60 * 60 * 1000;
    initMilliSeconds += oneDayTime * n;
    
    //       
    Date calculateDate = new Date(initMilliSeconds);
    calculateDay = sdf.format(calculateDate);
    return calculateDay;
}

3. 테스트
public static void main(String[] args) throws ParseException {
	//          
	System.out.println(getCalculateDay(null,1));// 2019-04-09
	System.out.println(getCalculateDay2(null,1));// 2019-04-09
}

  
마지막 에 쓰다
어떤 사내 가 글 에 오류 가 있 거나 더 많은 내용 을 보충 해 야 한 다 는 것 을 발견 하면 댓 글 을 환영 합 니 다!!
 관련 추천:
  • 개인 홈 페이지
  • 자바 가 시스템 의 현재 시간 을 가 져 오고 포맷
  •  
     
    다음으로 전송:https://www.cnblogs.com/Marydon20170307/p/10672030.html

    좋은 웹페이지 즐겨찾기