GetTimeZoneInformation
は、すべての有用な情報でTIME_ZONE_INFO
構造体を埋め尽くします。現在の現地時間が夏時間にあるかどうかを調べる方法
現在のローカルタイムゾーンが夏時間にあるかどうかは実際にはわかりませんが、
ニューヨークではStandardBias
とDaylightBias
はどちらもBias
と同じことを言っています。
何が起こっているのですか?
GetTimeZoneInformation
は、すべての有用な情報でTIME_ZONE_INFO
構造体を埋め尽くします。現在の現地時間が夏時間にあるかどうかを調べる方法
現在のローカルタイムゾーンが夏時間にあるかどうかは実際にはわかりませんが、
ニューヨークではStandardBias
とDaylightBias
はどちらもBias
と同じことを言っています。
何が起こっているのですか?
戻りコードGetTimeZoneInformation
には、必要な情報が含まれています。 MSDNによると
:
関数が成功すると、それは次のいずれかの値を返します。
TIME_ZONE_ID_UNKNOWN
何の遷移日付または夏時間の自動調整が無効になっているではないので、夏時間が、現在のタイムゾーンで使用されていません。TIME_ZONE_ID_STANDARD
システムはTIME_ZONE_INFORMATION
構造のStandardDate部材によって覆われた範囲で動作しています。TIME_ZONE_ID_DAYLIGHT
システムはTIME_ZONE_INFORMATION
構造のDaylightDate部材によって覆われた範囲で動作しています。メモリ不足エラーなどの理由で関数が失敗した場合は、TIME_ZONE_ID_INVALIDを返します。拡張エラー情報を取得するには、
GetLastError
に電話してください。
返品コードを確認して、受け取った情報が実際に有効であることを確認してください。
はい、本当に、私はそれを見逃しましたか? :-)ありがとう。私は専門家を持っています...窓からオルソン市の名前に似たものを手に入れる方法はありますか?私は、オルセンの都市名が必要なlibical timezoneオブジェクトを作成する必要があり、Windowsからそれを取得する方法はわかりません。 – stu
@stuここには専門家はいません。決してこれをしなくてはならず、Googleが掘り下げた文献をすばやく調べても、すぐに使える簡単な方法は見当たりません。私は 'boost :: locale'にもマッピングは見当たりませんが、古いかもしれません。あなたは別の質問をする必要があるように見えます。 – user4581301
ありがとうございます。私は見てたくさん行った。私は窓がオルセンをしていないと思うし、それが何をしているのか、おそらく、私がlibical timezoneデータベースで見つけるのに十分ではないだろう... – stu
StandardDateおよびDaylightDateフィールドと比較して現在の日付を確認し、TZが現在StandardまたはDaylightのいずれであるかを判断できます。 – Logicrat