복붙노트

[SQL] 저장 날짜 시간 (UTC) 대 기억하는 DateTimeOffset

SQL

저장 날짜 시간 (UTC) 대 기억하는 DateTimeOffset

나는 내내 DateTime.Now (유도 및 comparisions)를 사용할 수 있도록 나는 보통 바로 전에 읽기 / 데이터베이스에 /에서 작성하는 날짜 시간 변환 수행 (현지 시간 UTC에서, 그리고 UTC 로컬 시간에서)한다는 "요격"가 시간대에 대한 걱정없이 시스템.

직렬화에 대해서와 컴퓨터간에 데이터를 이동, 날짜 시간은 항상 UTC 한, 귀찮게 할 필요가 없습니다.

나는 나의 날짜를 저장 계속해야 - UTC 형식 (SQL 2008 날짜) 또는 내가 대신하는 DateTimeOffset (SQL 2008 - DATETIMEOFFSET)를 사용하여 보관해야합니까?

데이터베이스 (날짜 형)의 UTC 날짜는 오랫동안 근무하고 알고, 왜 변화 그것? 장점은 무엇입니까?

나는 이미이 같은 기사로 보았다, 그러나 나는 100 %는하지만 확신 해요. 이견있는 사람?

해결법

  1. ==============================

    1.당신은 혼자가 UTC를 사용할 수없는 하나 개의 큰 차이가있다.

    당신은 혼자가 UTC를 사용할 수없는 하나 개의 큰 차이가있다.

    간단한 예는 항공권 예약 시스템은 ... 비행 티켓은 2 회를 ​​포함해야합니다 있습니다 : - (도시 "에서"의 시간대에) 시간을 "이륙" - "착륙"시간 (의 시간대에서 "대상"도시)

  2. ==============================

    2.당신은 (즉, 기록 사건이 일어난) 모든 역사적 시간에 대한 UTC를 사용하는 것이 절대적으로 정확합니다. 현지 시간으로 UTC에서 이동하지만 약 항상 다른 방법으로하는 것이 가능하다.

    당신은 (즉, 기록 사건이 일어난) 모든 역사적 시간에 대한 UTC를 사용하는 것이 절대적으로 정확합니다. 현지 시간으로 UTC에서 이동하지만 약 항상 다른 방법으로하는 것이 가능하다.

    때 로컬 시간을 사용 하는가? 이 질문에 대답하세요:

    대답은 "예"인 경우에만 현지 시간을 저장합니다. 물론 그는 미래의 날짜에 대한 것, 그리고 보통 어떤 방법으로 사람들에게 영향 날짜.

    왜 시간대 / 오프셋 저장할?

    당신이 작업을 수행 한 사용자에 대해 무엇 오프셋을 기록 할 경우 첫째, 당신은 아마 최고의 단지 로그인 기록을 즉, 해당 사용자의 위치와 시간대를 그렇게 될 것입니다.

    당신이 표시 변환 할 두 번째 경우 6 개월 오프셋 뜻을 전에서 날짜 / 시간을 보여주는 경우 때문에, 당신은 단순히 현재의 오프셋 (offset)가 충분하지 않습니다 알고, 그 시간대에 대한 모든 현지 시간 오프셋 전환의 테이블이 필요합니다 다른합니다.

  3. ==============================

    3.DATETIMEOFFSET는 당신에게 하나 개의 필드에서 현지 시간과 UTC 시간을 저장 할 수있는 기능을 제공합니다.

    DATETIMEOFFSET는 당신에게 하나 개의 필드에서 현지 시간과 UTC 시간을 저장 할 수있는 기능을 제공합니다.

    이것은 어떤 방식으로 표시하기 위해 데이터를 처리 할 필요없이 로컬 또는 UTC 시간에 매우 간단하고 효율적으로보고 수 있습니다.

    지역 보고서 및 그룹 보고서에 대한 UTC 시간에 대한 현지 시간 - 다음은 가장 일반적인 두 가지 요구 사항입니다.

    현지 시간은 데이터의 출처 시간대에 대한 지식을 필요로하지 않기 때문에, 따라서 변환은 간단하고는 DATETIMEOFFSET의 DATETIME 부분에 저장하여 오프셋 부분에 저장되어 UTC로부터의 오프셋 (offset)되고, 모든 데이터베이스 수준에서 수행 할 수 있습니다 .

    당신은, 예를 들어 밀리 초까지 시간을 필요로하지 않는 경우 몇 분 또는 초, 당신은 DATETIMEOFFSET (0)를 사용할 수 있습니다. 날짜 시간과 동일한 - DATETIMEOFFSET 필드 만 저장의 8 바이트가 필요합니다.

    DATETIMEOFFSET를 사용하면 UTC DATETIME 따라서보고를 위해 더 많은 유연성, 효율성과 단순성을 제공하기보다는.

  4. from https://stackoverflow.com/questions/4715620/storing-datetime-utc-vs-storing-datetimeoffset by cc-by-sa and MIT license