2013-04-05 2 views
2

나는 java의 세계에 초보자 다. 나는 배우고 있으며, factory 클래스로 구성된 abstract 클래스 인 java calendar 클래스를 탐색하면서 instance()를 얻는다. 날짜를 늘리거나 줄이려고했습니다. 예 : 내일의 날짜를 얻으려면 현재 날짜에 하루를 더하며, 어제의 날짜를 가져 오려면 하루를 빼십시오. Java에서의 날짜는 밀리 초의 값으로 유지되기 때문에 프로그래머는 하루 24 시간을 추가하는 경향이 있습니다. 하루가 23 시간 또는 25 시간 일 수있는 일광 절약 시간제에 해당하는 경우 잘못 될 수 있습니다. 날짜에서 날짜를 더하거나 빼면 날짜의 다른 구성 요소 (예 : 월과 연도가 굴러 와야합니다.현재 일자에 일을 더하는 것에 관해서

내 검색어는 다음과 같습니다. 수업 시간에 나는 일을 더하거나 뺍니다. 조언을 해주십시오. 올바른 접근 방식인가요, 아니면 조언 할만한 더 나은 접근 방식이 있습니까?

//Using Calendar to increment and decrement days from date in Java 
    Date today = new Date(); 
    System.out.println("Today is " + toddMMyy(today)); 
    Calendar cal = Calendar.getInstance(); //adding one day to current date cal.add(Calendar.DAY_OF_MONTH, 1); 
    Date tommrrow = cal.getTime(); 
    System.out.println("Tomorrow will be " + toddMMyy(tommrrow)); //substracting two day from date in Java 
    cal.add(Calendar.DAY_OF_MONTH, -2); 
Date yesterday = cal.getTime(); System.out.println("Yesterday was " + MMyy(cal.getTime())); 
+4

내가 만들 것이다 유일한 추가 추천 [Joda 시간] (HTTP 한 번 봐 걸릴 것입니다 : // joda 시간을. sourceforge.net/) – MadProgrammer

답변

1

귀하의 정보가 정확합니다. 이것은 우리가 산술 날짜의 밀리 초를 사용할 때 발생하는 것입니다

 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
    Date d1 = df.parse("2013-03-30 12:00"); 
    Date d2 = new Date(d1.getTime() + 24 * 3600 * 1000); // +24 hrs 
    System.out.println(df.format(d2)); 

출력

2013-03-31 13:00 
관련 문제