Windows에서는 GetTimeZoneInformation
을 호출하여 쉽게 UTC 변환을 수행 할 수 있습니다. 결과로 얻은 구조체에는 두 개의 서로 다른 바이어스 값 (표준 시간과 DST 중 하나)과 BiasCode
(현재 어느 것이 현재 있는지)이 있습니다. 현재의 순간 만 신경 쓰면 괜찮습니다.미래의 포인트에 대해 UTC 시간 변환을 수행 할 수있는 방법이 있습니까?
하지만 향후 이벤트에 대한 데이터를 검색하기 위해 사용자가 호출하는 API가 있습니다. 데이터는 현지 시간으로 데이터베이스에 저장되고 사용자는 UTC로이를 원하기 때문에 변환을 실행하면 모든 것이 잘됩니다 ... 몇 주 안에 시간이 다가올 것입니다. 그리고 오늘의 편견으로 시간 변화의 반대편에있는 사건들을보고하면, 그들은 한 시간 쯤 떨어져있을 것입니다.
내가 그것을 날짜와 시간 다음 날 그 시간에 올바른 될 것입니다 제공하여BiasCode
, 대신 현재를 통과하는 것을 제외
GetTimeZoneInformation
처럼 작동 내가 호출 할 수있는 일이 있습니까 ? (그리고 그래, 나는 규칙이 매년 변경 알고 내가 미래에 몇 주 이상으로 보이는 것을 찾는 게 아니에요..)
가 나는 것을 알고 더 Win32 함수가 정확하게 당신이 원하는하지 않습니다, 그러나 위의 미래 년의 날짜 (Vista 및 현재 년 GetTimeZoneInformation을 사용하여 자신을 쓰기 어려운, 또는 GetTimeZoneInformationForYear 안). –
현지 시간에서 UTC 시간으로 변환하는 것은 모호 할 수 있습니다. 이상적으로는 UTC로 저장하고 표시를 위해 변환해야합니다. – Deanna