2011-03-23 7 views
1

이탈리아 웹 사이트에서이 URL을 설정했지만이 사이트에서 일부 삽입 작업을 수행하려고하면 날짜가 여전히 올바르지 않습니다.JDBC에서 올바른 시간대를 구성하는 방법은 무엇입니까?

jdbc.url=jdbc:mysql://sql.example.com/database?autoReconnect=true&characterEncoding=UTF-8&sessionVariables=time_zone='Europe/Rome' 

나는 그것이 제대로 작동하기 위해 다른 PARAMS를 추가해야합니까 : (1시 24분하지만 2시 24분입니다 그것은 예를 들어 있어야한다)? 모든 시간대의 전체 목록이 있습니까?

답변

4

죄송합니다. 귀하의 직접적인 질문에 대한 답변이 없습니다. 그러나 나는 데이터베이스 전체에서 모든 시간대 문제를 피할 수있는 가치있는 것을 제안 할 수 있습니다. 가능한 경우 Java로 날짜 저장을 위해 BIGINT 필드를 사용하는 것이 좋습니다. 이 신기원 이후로 경과 된 밀리 초 수의 long을 저장하면됩니다. System.currentTimeMillis() 또는 Date.getTime()

그런 다음 날짜의 시간대 해석은 항상 Java로 관리되며, 이는 기원 기반 숫자를 사용하는 것이 좋습니다. 그러나 그것은 너무 어렵지 않습니다 및 IMO 가치가있을 경향이 직접 자바 이외의 날짜에 대한 데이터베이스를 조회하는 것이 조금 더 복잡하게 않는다 "TZ"시간대 이름 목록이 있습니다

SELECT FROM_UNIXTIME(date_field/1000) FROM table; 
+0

오, 좋은 지적입니다! 고맙습니다, 이런 식으로 할 것입니다! – Rihards

1

Wikipedia에 있습니다.

+0

고마워, 이것을 북마크 해드립니다! :) – Rihards

관련 문제