2011-11-10 3 views
2

두 시간 개체를 더하거나 뺄 때 어떻게합니까? 나는 "yyyy/MMM/dd HH : mm : ss"형식의 두 시간 객체 (도착 및 출발)를 가지고 있습니다. 출발과 도착 시간의 차이를 인쇄해야합니다.시간과 달력

public String getTime() { 
    Calendar currentDate = Calendar.getInstance(); 
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss"); 
    return formatter.format(currentDate.getTime()); 
} 

내가 공장에서 시간을 취득 할 수와 형식보다 내가 인쇄 할 필요로 할 때 : 이하 나는 시간 광고를 생성 무엇입니까?

+0

부수적으로 두 날짜 (밀리 초) 사이의 지속 시간 (비 밀리 초)을 얻는 것은 간단합니다. 이는 시간과 시간대에 따라 다릅니다 (물론 대부분이 일광 절약 시간제). 관련 코드는 년/월/일/등을 파악해야합니다. _both_ 날짜에 대해 _those_ 숫자를 처리하십시오. –

답변

2

뭔가 .....

public long getTimeDiff() throws Exception { 
    String arrival = "2011/Nov/10 13:15:24"; 
    String departure = "2011/Jan/10 13:15:24"; 

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MMM/dd HH:mm:ss"); 

    java.util.Date date1 = formatter.parse(arrival); 
    java.util.Date date2 = formatter.parse(departure); 

    return date2.getTime() - date1.getTime(); 
} 
4

Joda Time 라이브러리를 살펴보십시오.

쉽게 빼고 날짜 시간을 추가하고 쉽게 간격을 찾을 수 있습니다

// interval from start to end 
DateTime start = new DateTime(2004, 12, 25, 0, 0, 0, 0); 
DateTime end = new DateTime(2005, 1, 1, 0, 0, 0, 0); 
Interval interval = new Interval(start, end); 
0

당신은 다음 getTime 방법을 사용하여 두 달력 시간 (밀리 초)을 얻을 수 있습니다. 뺄셈 결과를 필요할 때 측정 단위로 변환 할 수있을 때. Joda 라이브러리를 살펴볼 때 시간/지속 시간을 중요하게 생각한다면

업데이트. getTime을 두 번 호출해야합니다. 반환되는 첫 번째 객체는 Date입니다. Date에서 getTime을 호출하면 값이 길어집니다.

0

두 개의 시간/날짜 개체를 밀리 초 단위로 변환합니다. 그럼 나는 그들을 빼기 (우리는 longs를 다루고있다).

그런 다음 결과 값에서 Date 개체를 만듭니다. 그 후 Calendar.setDate (Date)를 사용하여 Calendar를 구성 할 수 있습니다.

감사합니다.

1

날짜로 변환 한 후 긴과 빼기, 그 밀리 초 단위의 시간 차이, 같은

Date d1 = DateFormat.parse(time1); 
Date d2 = DateFormat.parse(time2); 
long diffInMilliSeconds = d1.getTime()-d2.getTime(); 
0

예, 시작을 줄 것이다 getTime()을 사용하여 밀리 초 (또는 캘린더의 경우 getTimeInMillis())로 변환하십시오. 그것은 당신이 뺄 수있는 긴 가치를 제공합니다. 그것은 쉬운 부분입니다.

그런 다음이 밀리 초를 직접 읽을 수있는 형식으로 변환 할 수 있습니다. 그러나 패키지 라이브러리를 사용하여 이해하는 것이 좋습니다.

이러한 유형의 날짜 계산에는 Joda 라이브러리와 같은 사람들이 있습니다. 나는 Commons Lang이 환상적이라고 느낍니다. DateUtils을 제공합니다. 가장 가까운 분 또는 시간 등으로 날짜를 반올림하거나 자르는 것과 같은 계산을 수행하려는 경우 유용합니다. DurationFormatUtils 클래스는 formatDurationHMS과 같은 형식을 취합니다. nice Hour : Minute : 초 표시와 formatDurationWords을 사용하여 밀리 세컨드를 사람이 읽을 수있는 형식으로 쉽게 포맷 할 수있는 텍스트 (공상!) 또는 기타 유사한 기능을 얻을 수 있습니다.