예, Joda-Time을 사용하십시오.
Java 8의 Joda-Time 또는 java.time package을 확실히 사용하십시오 (Joda-Time에서 영감을 얻음). 이전 java.util.Date
및 java.util.Calendar
클래스는 매우 번거롭고 혼란스럽고 구식입니다.
또한 위키 피 디아 페이지는 UTC과 ISO 8601입니다.
예
, Joda 타임 생성자
➔에 전달 날짜 예 실제로, 당신은 Joda 타임 DateTime
객체의 constructor에 java.util.Date
개체를 전달할 수 있습니다.
API 문서는 다소 혼란 스럽습니다. 이는 명백히 java.lang.Object
인스턴스를 사용하는 생성자의 포괄 버전으로 분류됩니다. 해당 Object가 실제로 java.util.Date
인 경우 Joda-Time은 epoch부터 밀리 초 카운트를 추출하여 해당 숫자를 자체 것으로 사용합니다.
시간대
DateTime
생성자는 시간대를 지정합니다. 기본적으로 JVM의 현재 기본 시간대가 지정됩니다. 항상 getDefault
을 호출하는 경우에도 기본값에 암시 적으로 의존하지 않고 항상을 전달하는 것이 좋습니다. 다음 예제 코드
는 Joda 타임 생성자에 java.util.Date를 전달하는 방법을 나타내는 타임 2.5 Joda 일부 코드 예이다.
java.util.Date date = new java.util.Date();
DateTimeZone zone = DateTimeZone.forID("America/Montreal");
DateTime dateTimeMontreal = new DateTime(date , zone);
DateTime dateTimeUtc = dateTimeMontreal.withZone(DateTimeZone.UTC); // Adjust to another time zone.
콘솔에 덤프.
System.out.println("date: " + date); // Misleading output. A j.u.Date is in UTC but its toString method applies JVM’s current default time zone.
System.out.println("dateTimeMontreal: " + dateTimeMontreal);
System.out.println("dateTimeUtc: " + dateTimeUtc);
실행하면.
java.util.Date에 날짜 시간에서 가고, 질문에 나타낸 바와 같이
date: Sat Oct 18 18:54:55 PDT 2014
dateTimeMontreal: 2014-10-18T21:54:55.740-04:00
dateTimeUtc: 2014-10-19T01:54:55.740Z
, toDate
를 호출합니다.
java.util.Date date = dateTimeMontreal.toDate();
가능한 중복 http://stackoverflow.com/questions/5042587/convert-from-java-util-date-to-jodatime – Xorty
좋아, 작동, 감사하지만, API에 따라 이러한 없다 Date를 받아들이는 생성자 ... 다시 한번 감사드립니다. 아마 내가 잘못 이해 한 것일 수도 있습니다. – cscsaba
당신은 환영합니다 :) – Xorty