2014-05-14 3 views
0

나는 사람의 생일을 얻기 위해 JXDatepicker를 사용하고 있으며, 내가해야하는 것은 은퇴 날짜가있는 다른 JXDatepicker를 설정하는 것입니다. 그래서 여기에있는 아이디어는 생년월일을 알아 내고 "사람"이 60 세가되고 같은 날과 달을 지키기까지 반복적으로 1 년 동안 늘리는 것입니다. 아니면 내가 가진 것 같아요. 할 것. 하지만 캘린더 클래스 나 DateFormat 클래스를 사용하여이 계산을 수행하는 방법을 찾을 수없는 것 같습니다. 다른 작업을 시도했지만 아무 것도 작동하지 않습니다. 가장 가까운 날짜는 1970 년 1 월 1 일입니다. 테스트하는 생년월일 이후의 퇴직 날짜는 항상 2014 년이므로 20744이어야합니다.자바 날짜 및 시간

어떻게 계산할 수 있습니까? 누군가가 나에게 어떻게 할 수 있는지에 대한 예를 들어 주시면 감사하겠습니다.

(내가 충분히 연구하지 않은 것처럼 보일 수도 있지만, 내가했고, 나는 그것이 나에게 도움이되지 않았기 때문에 내가 뭘 찾았는지 언급 왜 내가 발견하지 않습니다) 지구에

+0

당신은 당신이 * 시도했다 표시해야합니다 * 그래서 우리는 도움이 될 수 있습니다 당신이보다는 처음부터 시작을 고정한다. (당신은 * DateFormat을 사용하여 * 모든 계산을하지 않아야합니다. 문자열 형식화/파싱에만 해당됩니다.) –

+0

자바에서 날짜 계산을하는 데 관심이 있다면 JodaTime 또는 , Java 8이 사용 가능하면, 새로운'java.time' API. – Smallhacker

+0

@Smallhacker, 그래, 나는 그것을 시도했지만 오라클 워드 프로세서를 이해하는 데 문제가 있기 때문에 그것을 사용하는 방법을 몰랐다.하지만 지금은 내게 주어진 대답이 작동했다. 그래서 어쨌든 당신 모두에게 감사한다. – user3610008

답변

1

날짜를 60 년으로 늘리지 않아도됩니다. 당신은 당신의 JXDatePicker에서 선택한 날짜를 얻고 그런 식으로 작업을 수행 할 수 있습니다

final Calendar cal = Calendar.getInstance(); 
cal.setTime(date); 
cal.add(Calendar.YEAR, 60); 
final Date retirementDate = cal.getTime(); 
+1

고마워요.하지만 지금 바보 같아요. p! 문제는 내가 call.add() 메서드에 대해 몰랐거나 적어도 그것을 사용하는 방법을 몰랐다는 것입니다. 그리고 지금은 방금 일했습니다 ...이게 나에게 이틀 동안 걸렸던 것처럼 간단합니다. -_-! 정말 감사. 가능한 한 빨리 답변을 수락하겠습니다. 미안하지만 투표를 할 수 없으며 충분한 명성이 없습니다. – user3610008

1

왜 것 루프에 60을 1 회 추가해야합니까? 왜 60을 추가하지 그래?

import java.text.SimpleDateFormat; 
import java.util.Calendar; 

public class Main { 

    public static void main(String... args){ 

     SimpleDateFormat df = new SimpleDateFormat("MM/dd/YYYY"); 

     Calendar c = Calendar.getInstance(); 
     System.out.println(df.format(c.getTime())); //prints 05/14/2014 

     c.add(Calendar.YEAR, 60); 
     System.out.println(df.format(c.getTime())); //prints 05/14/2074 
    } 
} 
+0

네, 가끔 바보가됩니다. -_-! 이제 내가 생각하기에 나는 부끄럽게 느낀다 : p! 어쨌든 고맙습니다. – user3610008