내 데이터베이스의 날짜 값은 GMT 시간대에 int 형식으로 저장되어 있습니다. 현지 시간대로 날짜를 변환하려고하는데 날짜가 지난 날짜 일 때 문제가 발생합니다. 예를 들어 나의 경우 12 월 1 일 오프셋이 -5이고 2010 년 6 월 15 일이 -4 일 예정입니다. 일광 절약에. 저는 현재 EST에 있습니다.GET UTC 지난 날짜의 날짜
그래서 이전 날짜의 UTC 날짜가 -4 또는 -5가 해당 날짜의 오프셋 일지 여부를 판단 할 수 있어야합니다.
SELECT Test_Number,
Last_Test_Date, dateAdd(hour,
datediff(hour, GETUTCDATE(), getdate()), --UTC offset
dateadd(second, Last_Test_Date, '1/1/1970 12:00 AM'))
FROM TestTable
심지어 가능할 지 확실하지 않습니다. 어떤 견해?
캘린더 테이블을 사용하십시오. 오늘의 오프셋을 사용하여 오프셋을 계산할 수는 없습니다. 과거에. 특히 매년 날짜가 다르므로 실제 규칙도 변경됩니다. 10 년 전 DST가 끝난 시점의 오프셋은 작년과 다릅니다. –
이 문제를 심각하게 생각하면 Windows 런타임 코드를 사용하지 마십시오. 이전 버전은 시간대 당 UTC 시간대의 단일 세트 만 지원했지만, 최신 버전에서는 2 가지 방법 만 지원합니다. –