最新閲覧日:

VC++5.0SP3で開発をしています。
アメリカ東部標準時間を取得するため、
_putenv("TZ=EST+5");
_tzset();

CTime Time = CTime::GetCurrentTime();

としてみましたが、取得できるのは日本の現在時刻です。
もちろん日本の時間から時差を計算して東部標準時間を求めることもできるのですが、TZを反映させ、GetCurrentTime()で現地時刻を得たいのです。
なぜ上記の方法で取得できないのでしょうか? ご存知の方ぜひご教示ください。

A 回答 (1件)

tzset() なつかし~、と思い書いちゃいます。


SDKなら何とかなるけど、C++よく知らないんで、自信なしなんですが・・・

wDosDate, wDosTimeとか、の方法で、CTimeオブジェクトに、DOSのtime_t情報をコピーしなくてはいけないんじゃないでしょうか?

MSDNには、以下の記述がありました。
>CTime( WORD, WORD ); 指定された MS-DOS の日付と時刻から CTime オブジェクトを構築します。

また、時差の指定方法もあったので、
>_putenv("TZ=EST+5");
>_tzset();
の代わりも、CTimeでできるかも・・・

自分の勉強になったよん。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報

カテゴリ