2014-11-20 5 views
1

나는 Date이 있습니다. 날짜를 제외하고 시간 만 복사하고 싶습니다. 그런 다음 다른 날짜에 시간을 삽입해야합니다.자바에서 날짜를 설정하고 가져 오는 중

쉬운 방법이 있나요? Date 데이터 유형을 변경할 수 없습니다. 나는 할 수있어, getHour(), getMinutes() 등. 그러나 이것은 길다. 내가 사용할 수있는 명확한 버전이 있습니까? 또는 다른 라이브러리의 아파치 커먼즈와 같이 날짜 시간을 설정하거나 가져올 수 있습니다 (지금까지 아무 것도 발견하지 못했습니다).

+0

Java 8 사용 : http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html –

+0

Java를 사용할 수 없음 8 –

+0

표준을 사용하여이를 수행 할 짧은 방법이 없습니다. 자바 라이브러리. 시간, 분, 초를 설정해야합니다 ... [Joda Time] (http://www.joda.org/joda-time/quickstart.html)에서 귀하의 필요에 맞을 수 있습니다. – jhamon

답변

1

이 시도 : 당신이 당신 Date 개체의 시간 부분이 필요하면

public static Date copyTimeOnly(Date toDate, Date fromDate) { 
    Calendar toCal = new GregorianCalendar(); 
    toCal.setTime(toDate); 

    Calendar fromCal = new GregorianCalendar(); 
    fromCal.setTime(fromDate); 

    // Copy time only 
    toCal.set(Calendar.HOUR_OF_DAY, fromCal.get(Calendar.HOUR_OF_DAY)); 
    toCal.set(Calendar.MINUTE, fromCal.get(Calendar.MINUTE)); 
    toCal.set(Calendar.SECOND, fromCal.get(Calendar.SECOND)); 
    toCal.set(Calendar.MILLISECOND, fromCal.get(Calendar.MILLISECOND)); 

    return toCal.getTime(); 
} 
1

및 자바 8 사용할 수 없으며 제 3 자 프레임 워크를 사용하지 않으려면, 다음 Calendar 사용

Calendar c = Calendar.getInstance(); 
c.setTime(yourDate); 
c.set(Calendar.YEAR, 0); 
c.set(Calendar.MONTH, 0); 
c.set(Calendar.DAY, 0); 
Date timeOnly = c.getTime(); 
0

하거나 (이 경우 org.apache.commons.lang3.time) 타사 라이브러리를 사용할 수 있는지 당신은 이런 식으로 할 수있는 :

0

LocalTime

오래된 java.util.Date/.Calendar 48,는 날짜 부분을 제외하고 시간의 일 값을 나타내는 어떤 클래스가 없습니다. 반대로 Joda-Time 라이브러리와 Java 8에 내장 된 새로운 java.time 패키지 (Joda-Time에서 영감을 얻음)는 모두 LocalTime 클래스를 제공합니다.

Joda-Time

다음은 Joda-Time 2.5를 사용한 예제 코드입니다.

시간대가 중요합니다. 파리, 몬트리올 또는 콜카타의 누군가가 보았던 그 순간의 시간을 원하십니까?

DateTimeZone zone = DateTimeZone.forID("America/Montreal"); 
DateTime dateTime = new DateTime(yourJUDate, zone); 
LocalTime localTime = dateTime.toLocalTime(); 

LocalTime을 다른 DateTime에 적용하려면 withTime으로 전화하십시오. Joda-Time은 변경 불가능한 객체를 사용합니다. 따라서 새 DateTime 객체는 원본을 기반으로하는 값으로 만들어집니다.

관련 문제