2014-04-07 4 views
0

정확한 시간대 WITH 일광 절약 시간을 사용하는 Joda-Time datetime으로 날짜 문자열을 구문 분석하려면 어떻게해야합니까?유럽/베를린의 Joda-Time datetime 일광 절약 시간

예를 들어, "2014-04-07 01 : 00 : 00.000"(시간대 정보없이) 문자열을 구문 분석하려고합니다. 이 날짜는 MySQL에서 가져온 것이며 유럽/베를린 +01 : 00입니다. 내가 원하는 것은 2014-04-07 00 : 00 : 00 + 01 : 00에 따라 joda 날짜 시간입니다. 유럽/베를린 표준 시간대는 현재 DST (GMT +1) 시간대가 아닙니다. 00 : 00.000 + 02 : 00 현재 잘못된 오프셋 (2시 아닌 경우 1시)

어떤 아이디어

val fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS").withZone(DateTimeZone.forID("Europe/Berlin")) 
val dt = fmt.parseDateTime("2014-04-07 01:00:00.000") 

불행하게도 Joda 타임은 2014-04-07T01에 날짜를 구문 분석 올바른 DST 오프셋을 사용하여 Joda-Time에서 날짜를 구문 분석하는 방법은 무엇입니까?

+5

저는 "유럽/베를린"의 표준 시간대에 거주하고 있으며 실제로는 (4 월에 문자열도 볼 수 있습니다) 여름 시간대에는 UTC + 02 : 00 오프셋을 사용할 수 있습니다. 조다 타임 맞아. 덕분에 –

+0

! 내 잘못 주어진 +0100 오프셋 주어진 파이썬에 의해 혼란 스러워요. – sonix

답변

5

Joda-Time이 정확합니다. 베를린에 대한 귀하의 가정은 +01 : 00입니다. 일광 절약 시간제를 고려하지 않았습니다.

"Europe/Berlin"시간대의 TimeZoneConverter.com에있는 this page에 따르면 Daylight Saving Time (DST)은 일요일 2020 년 3 월 30 일 오전 02:00:00에 시작되었습니다. 지역 시계가 1 시간 앞으로 설정되었을 때. 위키 백과 목록 time zone names에 따르면 베를린은 UTC (+01 : 00)보다 1 시간 앞서서 2 시간 (+02 : 00) 앞선 것으로 나타났습니다.