문제

실행 Tomcat 응용 프로그램,내가 표시하기 위해 필요한 약간의 시간 값입니다.불행하게도,시간은 오는 시간이다.동물이 어미가 총을 맞았기 때문에 왔다고 발견하는 기본 표준 시간대 설정하기:

sun.util.calendar.ZoneInfo[id="GMT-08:00",
                           offset=-28800000,
                           dstSavings=0,
                           useDaylight=false,
                           transitions=0,
                           lastRule=null]

보다는 오히려 태평양 시간 영역입니다.이것은 더 표시하려고 할 때 인쇄하는 기본 표준 시간대의 이름 표시, 며,그것은"GMT-08:00",는 것을 나타내,그것이 제대로 설정하여 미국 태평양 시간대에 있습니다.나는에서 실행되는 우분투디 헤론,서 업그레이드 원기 왕성한 긴팔.

이 구성 파일 업데이트 할 수 있습니다 말하 JRE 를 사용하 태평양과 함께 모든 관련된 일광 절약 시간 정보가?시간 내 컴퓨터에 제대로 보여줍니다,그래서 그것은 있을 것 같지 않 OS 넓은 잘못.


확인,여기에 업데이트합니다.협력자 제안 업데이트 JAVA_OPTS 서/etc/프로필을 포함한"-Duser.시간=US/태평양"일(도 보았 CATALINA_OPTS,나 업데이트됩니다.)실제로,나는 그냥 수출으로 변경 변수를 사용하기보다는 새로운/etc/profile(재부팅이 나중에 변경을 적용하고 나는 황금).

그러나,여전히 있다고 생각은 더 나은 솔루션을...가 있어야에 대한 구성 Java 어딘가에 무엇을 말하는 표준 시간대를 사용하거나,어떻게 잡는 타임존도 있습니다.누군가가 이러한 설정,저장소,하지만 지금은 괜찮은 해결 방법입니다.


나는 사용 1.5,그리고 그것은 가장 확실히 DST 문제입니다.당신이 볼 수 있듯이,시간대 설정을 사용하지 않는 일광 절감됩니다.내 믿음입니다 그것은 일반적으로 설정하 -8 오프셋 보다는 오히려 태평양 특정 시간대.이후 일반 -8 오프셋이 없 일광 절약 정보,그것은 물론 사용하지 않다,하지만 질문입니다,나는 어디로 말 Java 사용하 태평양 시간대 시작할 때까?내가 찾는 게 아니에요한 프로그래밍 솔루션,그것은 구성 솔루션입니다.

도움이 되었습니까?

해결책

그것은"급에서"길 JVM 찾 zoneinfo 파일입니다.보 버그 ID6456628.

가장 쉬운 방법은/etc/십시오 symlink 올바른 zoneinfo 파일입니다.에 대한 태평양 표준시로,다음 명령을 작동:

# sudo cp /etc/localtime /etc/localtime.dist
# sudo ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

가 없었습니다 어떤 문제가 심볼릭 링크 접근 방식이다.

편집:추가"sudo"는 명령입니다.

다른 팁

우분투에서,그것만으로는 충분하지 않습을 변경/etc/십시오 파일입니다.그것은 읽기/etc/파일 시간대,too.그것은 나를 따르 교육 하는 표준 시간대를 설정합니다.특히 다음을 수행합니다:

$ sudo cp /etc/timezone /etc/timezone.dist
$ echo "Australia/Adelaide" | sudo tee /etc/timezone
Australia/Adelaide
$ sudo dpkg-reconfigure --frontend noninteractive tzdata

Current default time zone: 'Australia/Adelaide'
Local time is now:      Sat May  8 21:19:24 CST 2010.
Universal Time is now:  Sat May  8 11:49:24 UTC 2010.

에서 우분투는 경우,/etc/십시오과/etc/표준 시간대는 일관성,Java 을 읽는 기본 표준 시간대에서는/etc/타임존도 있습니다.

나는 유사한 문제를 가능하게 같은 하나입니다.그러나 내 tomcat 서버에서 실행됩 windows 자 심볼릭 링크 솔루션을 작동하지 않습니다.

-Duser.timezone=Australia/SydneyJAVA_OPTS 그러나 tomcat 것을 인정하지 않는 DST 에 효과가 있다.문제 해결 방법으로 변경 Australia/Sydney (GMT+10:00) Pacific/Numea (GMT+11:00)그래서 시간이 올바르게 표시 하는지 알고 싶어요 실제적인 솔루션 또는 버그가 있는 경우.

그것은하는 데 도움이 될 수 있습니다 더블 체크인 시간대 규칙의 OS 에서 사용하고 있습니다.

/usr/bin/zdump -v /etc/localtime | less

이 파일에 포함되어 있어야 합니다 일광 절약 규칙,다음과 같이 하나를 2080:

/etc/localtime  Sun Mar 31 01:00:00 2080 UTC = Sun Mar 31 02:00:00 2080 BST isdst=1 gmtoff=3600

을 비교할 수 있습니다이 시간대 규칙을 생각해야 사용할 수 있습니다.그들은에서 찾을 수 있습니다 /usr/share/zoneinfo/.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top