programing

Joda Time으로 시간대를 포함한 날짜를 어떻게 구문 분석 할 수 있습니까?

shortcode 2021. 1. 19. 07:32
반응형

Joda Time으로 시간대를 포함한 날짜를 어떻게 구문 분석 할 수 있습니까?


이 코드 조각은 항상 날짜를 현재 시간대로 구문 분석하고 구문 분석중인 문자열의 시간대가 아닙니다.

final DateTimeFormatter df = DateTimeFormat
        .forPattern("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");
final DateTime dateTime = df
        .parseDateTime("Mon Aug 24 12:36:46 GMT+1000 2009");
System.out.println("dateTime = " + dateTime);
// outputs dateTime = 2009-08-24T04:36:46.000+02:00

다음을 출력합니다.

dateTime = 2009-08-24T04:36:46.000+02:00

나는 기대하지만 :

dateTime = 2009-08-24T04:36:46.000+10:00

내가 뭘 잘못하고 있는지 아이디어가 있습니까?


좋아요, 더 나아가 인터넷 검색을 통해 내 질문에 대한 답을 얻었습니다 withOffsetParsed().

final DateTimeFormatter df = DateTimeFormat
        .forPattern("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");
final DateTime dateTime = df.withOffsetParsed()
        .parseDateTime("Mon Aug 24 12:36:46 GMT+1000 2009");

작동합니다.


또한 다음을 선택할 수 있습니다.

// parse using the Paris zone
DateTime date = formatter.withZone(DateTimeZone.forID("Europe/Paris")).parseDateTime(str);

참조 URL : https://stackoverflow.com/questions/1327229/how-can-i-parse-a-date-include-timezone-with-joda-time

반응형