2016-08-16 18 views
-1

GetTimeZoneInformationは、すべての有用な情報でTIME_ZONE_INFO構造体を埋め尽くします。現在の現地時間が夏時間にあるかどうかを調べる方法

現在のローカルタイムゾーンが夏時間にあるかどうかは実際にはわかりませんが、

ニューヨークではStandardBiasDaylightBiasはどちらもBiasと同じことを言っています。

何が起こっているのですか?

+0

StandardDateおよびDaylightDateフィールドと比較して現在の日付を確認し、TZが現在StandardまたはDaylightのいずれであるかを判断できます。 – Logicrat

答えて

4

戻りコード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に電話してください。

返品コードを確認して、受け取った情報が実際に有効であることを確認してください。

+0

はい、本当に、私はそれを見逃しましたか? :-)ありがとう。私は専門家を持っています...窓からオルソン市の名前に似たものを手に入れる方法はありますか?私は、オルセンの都市名が必要なlibical timezoneオブジェクトを作成する必要があり、Windowsからそれを取得する方法はわかりません。 – stu

+0

@stuここには専門家はいません。決してこれをしなくてはならず、Googleが掘り下げた文献をすばやく調べても、すぐに使える簡単な方法は見当たりません。私は 'boost :: locale'にもマッピングは見当たりませんが、古いかもしれません。あなたは別の質問をする必要があるように見えます。 – user4581301

+0

ありがとうございます。私は見てたくさん行った。私は窓がオルセンをしていないと思うし、それが何をしているのか、おそらく、私がlibical timezoneデータベースで見つけるのに十分ではないだろう... – stu

関連する問題