2009-08-11 5 views
2

CreatedDate 및 ModifiedDate와 같은 열은 일반적으로 SQL 테이블에서 사용됩니다. 내 생각 엔, 시간의 UTC 값을 저장하면 앱을 호스팅하는 서버의 위치에 대한 종속성을 제거하는 데 도움이됩니다. 클라우드 컴퓨팅이 친숙 함을 얻게되면 (심지어 제외하더라도) 응용 프로그램은 모든 시간대와 세계 어느 곳에서나 호스팅 될 수 있습니다.SQL 테이블의 UTC 시간

이러한 필드에 UTC 값을 사용하면 비즈니스 논리에서 필드를 UTC로 가정하고 현지화 요구 사항 당 날짜를 변환 할 수 있습니다.

제 생각을 올바르게 처리 할 수 ​​있습니까? 이 접근법에 단점이 있습니까? 대신 특정 영역에 특정 시간을 저장하는 것이 더 쉬운가?

감사합니다.

+0

귀하의 질문은 무엇입니까? –

답변

5

IMHO 심지어 로컬 전용 응용 프로그램은 UTC를 저장해야합니다. 그렇지 않은 경우 정확하게 처리해야합니다. 일광 절약 시간 시간 조정. 배포되는 모든 것에 대해서는 UTC가 필수입니다.

클라이언트는 모든 클라이언트 플랫폼이 UTC를 현지 시간으로 표시하도록 지원하므로 현지화 된 시간을 표시 할 수 있습니다.

3

SQL 2008에는 시간대를 저장할 수있는 datetimeoffset이라는 데이터 형식이 있습니다. 이것은 당신이 당신의 케이크를 먹을 수 있다는 것을 의미합니다!

"UTC 버전을 저장해야합니까? 그렇지 않으면 2시 30 분이 되었습니까?" 일광 절약이 발생할 때마다 하지만 datetime 오프셋을 사용하면 문제가 없습니다.

에 UTC 버전을 저장하면 클라이언트가 표시 할 표준 시간대를 고려해야합니다. 그러나 일광 절약 시간이 발생하면 모든 시간이 한 시간 앞으로 이동하므로 운이 아직 없습니다.

흥미롭게도 Mitch Wheat (질문에 대한 의견을 올린 사람)은 일광 절약제를 최근에 도입 한 Perth에 거주하고 있습니다. 그것에 관한 블로그를 작성했습니다 : http://msmvps.com/blogs/robfarley/archive/2006/10/25/The-horror-of-daylight-savings-_2800_sorry-Perth_2900_.aspx

그래서, 어떻게 가는지보십시오. 여름철에 오후 5시에 시간이 저장되었음을 보여줄 수 있도록 datetimeoffset을 권장합니다.

Rob

+0

그래서 Mitch가 'whats는 당신의 질문입니까?' 롤. 그는 전에 결코 절경을 보지 못했습니다 : D –

관련 문제