다음 형식으로 정의 된대로 TimeZone의 POSIX 형식을 만들어야합니다.Java TimeZone 및 Linux TimeZone 일광 절약 시간제가 일치하지 않습니다.
"미국/뉴욕"에 대한 예를 들어std offset dst [offset],start[/time],end[/time]
는 POSIX 형식은 M11.1.0 EST + 5EDT, M3.2.0/2 지금 값 M3.2.0/2에 표시됩니다/2
Mm.wd/t 형식.
월 m 일의 요일 d를 지정합니다. 일 d는 0 (일요일)과 6 사이 여야합니다. 주 w는 1과 5 사이 여야합니다. 주 1은 d 일이 발생한 첫 번째 주, 주 5는 달의 마지막 d 일을 지정합니다. I는 다음 링크 그래서
http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
상기 예 상태에서 상기 설명 빌린 1 내지 12 개월 m이어야 UTC 오프셋 통상 5 시간이고; 이것이 본초 자오선의 서쪽에 있으므로 표지판은 양수입니다. 서머 타임은 3 월 두 번째 일요일 오전 2시에 시작하여 11 월 첫 번째 일요일 오전 2시에 끝납니다.
나는 리눅스 시간대 파일에서이를 확인하는 경우는/usr/share /은 zoneinfo/미국/뉴욕, 그것은 위의 값과 일치
EST5EDT, M3.2.0, M11.1.0
그러나 나는이를 구성 할 때 시간대를위한 자바에서 "미국/뉴욕"
이 내가로부터 정보를 추출하여 위의 문자열을 구축/I는 다음과 같은 문자열
EST-5EDT + 1, M2.1.1/2, M10.1.1를 얻을 다음 코드의 출력.
TimeZone timezone = TimeZone.getTimeZone("America/New_York");
System.out.println(timezone.toString());
출력
sun.util.calendar.ZoneInfo[id="America/New_York",offset=-18000000,dstSavings=3600000,useDaylight=true,transitions=235,lastRule=java.util.SimpleTimeZone[id=America/New_York,offset=-18000000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=3,startMonth=2,startDay=8,startDayOfWeek=1,startTime=7200000,startTimeMode=0,endMode=3,endMonth=10,endDay=1,endDayOfWeek=1,endTime=7200000,endTimeMode=0]
공지 아래로 리눅스 출력에 비해 11이어야 endMonth와 값 = 10.
이 형식에 대한 링크를 POSIX 문서에 게시 할 수 있습니까? ? 나는 호기심이 많다. –
예, 설명에서 언급했습니다. 그 내용은 다음과 같습니다. http://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html로 –
고마워,하지만, 공식 POSIX 문서 아니에요. 그것은 gnu.org의 일부 라이브러리입니다. 인터넷 검색은 POSIX 날짜 - 시간 형식으로 가정 된 다른 정의를 문서화 한 다른 출처로 안내했습니다. 그래서 나는 누군가가 권위있는 소식통을 올리기를 희망했다. –