• 締切済み

CTime及び環境変数TZについて

VC++5.0SP3で開発をしています。 アメリカ東部標準時間を取得するため、 _putenv("TZ=EST+5"); _tzset(); CTime Time = CTime::GetCurrentTime(); としてみましたが、取得できるのは日本の現在時刻です。 もちろん日本の時間から時差を計算して東部標準時間を求めることもできるのですが、TZを反映させ、GetCurrentTime()で現地時刻を得たいのです。 なぜ上記の方法で取得できないのでしょうか? ご存知の方ぜひご教示ください。

みんなの回答

  • j_euro
  • ベストアンサー率25% (29/115)
回答No.1

tzset() なつかし~、と思い書いちゃいます。 SDKなら何とかなるけど、C++よく知らないんで、自信なしなんですが・・・ wDosDate, wDosTimeとか、の方法で、CTimeオブジェクトに、DOSのtime_t情報をコピーしなくてはいけないんじゃないでしょうか? MSDNには、以下の記述がありました。 >CTime( WORD, WORD ); 指定された MS-DOS の日付と時刻から CTime オブジェクトを構築します。 また、時差の指定方法もあったので、 >_putenv("TZ=EST+5"); >_tzset(); の代わりも、CTimeでできるかも・・・ 自分の勉強になったよん。

関連するQ&A