0
은을 설정하지 않았으므로 SimpleDateFormat userDateFormat = new SimpleDateFormat("yyyy-MM-dd 00:00:00")
을 사용합니다.Java SimpleDateFormat이 다른 TimeZone으로 변경됩니다.
그리고 만들 때마다 userDateFormat, 나는 userDateFormat의 시간대 정보를 얻을 수
System.out.println("userDateFormat timezone: " + ((SimpleDateFormat)userDateFormat).getTimeZone().toString());
를 사용합니다. 시간대이 단일 서버에서 여기에서 변경 한 이유
내가
userDateFormat timezone: sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
userDateFormat timezone: sun.util.calendar.ZoneInfo[id="Europe/Copenhagen",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=133,lastRule=java.util.SimpleTimeZone[id=Europe/Copenhagen,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
궁금 : 함수의 다른 통화 (서버없이 종료)로 실행되는 응용 프로그램 중
, 우리는 다른 시간대의 정보를 얻을.우리는 setTimeZone이 'GMT'(모든 프로젝트에서 한 번만 설정 됨) 인 다른 SimpleDateFormat 객체를 가지고 있지만 결과에서 'CET (UTC + 1)'표준 시간대를 사용하는 것 같습니다. jdk 시간대 엉망의 원인이되는 서버 설정이 있습니까?
감사합니다.
응용 프로그램 표준 시간대는 TimeZone # setDefault를 사용하여 변경할 수 있습니다. 값을 인쇄하기 전에 명시 적으로 TimeZone을 각 SimpleDateFormat에 명시 적으로 설정하는 것이 좋습니다. – bsiamionau