2012-01-10 2 views
1

다른 나라에있는 GPS 장치 (시간대 + 일광 절약 시간제)에서 데이터를 수집하고 다른 국가의 다른 사용자에게 데이터를 표시해야하는 프로젝트를 진행 중입니다. 나는 UTC 형식으로 날짜를 저장하는 것에 대해 생각하고있다. (GPS 장치로부터받은 것이다.) 그러나 다시 나는 그 날짜를 사용자의 현지 날짜로 변환하는 데 어려움을 겪는다. (나는 역사적인 데이터도 표시해야한다. 주어진 날짜의 일광 절약 시간을 고려해야합니다.) 어쩌면 datetimeoffset 데이터 유형이 더 적절할 수 있지만 수신 된 UTC 날짜를 datetimeoffset 데이터 유형으로 변환하는 방법은 무엇입니까? 너는 무엇을 제안 하겠는가? 감사!GPS 장치에서 datetime을 저장하기 위해 사용해야하는 SQL 데이터 유형은 무엇입니까?

+1

다양한 SQL은 무엇입니까? MySQL은? SQLite? SQL Server 2000/2005/2008? – MatBailie

+0

That 's MSSQL 2008 – Elio

답변

2

datetime과 함께 시간대를 저장할 필요가 없으므로 datetime을 UTC로 저장할 수 있습니다. 선형 적이며 문서화하기 쉽다는 이점이 있습니다. 일광 절약 시간 스위치에서 틈과 겹침을 신경 쓰지 않아도됩니다.

날짜를 사용자에게 표시 할 때 현지 표준 시간대로 변환하십시오. 어떤 사용자가 데이터를 볼 것인지를 알기 전까지는이를 현지 시간대로 변환하는 것은 의미가 없습니다.

+0

UD 날짜를 LocalDate (심지어 과거 데이터)로 변환하는 방법을 알고 있습니까? 사용자에게 제시해야하는 과거 날짜에 대한 일광 절약 시간제가 있는지 알아야합니까? 필자의 요지는 http://blogs.msdn.com/b/bartd/archive/2009/03/31/the-death-of-datetime.aspx에 설명되어 있습니다. 또한이 질문은 내가 무엇을 물어와 관련이 있습니다 http://stackoverflow.com/questions/1205142/tsql-how-to-convert-local-time-to-utc-sqlserver2008 – Elio

+0

나는 UTC 형식으로 날짜를 저장하도록 선택했습니다. 유닉스 포맷의 날짜를 클라이언트에 보내고 자바 스크립트에서 현지 시간으로 변환하십시오. – Elio

관련 문제