• 締切済み

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

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

  • volv
  • お礼率72% (66/91)

みんなの回答

  • 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

  • システム時刻、環境変数TZの関係について

    こんにちは。 システム時刻とTZ環境変数の関係について教えてください。 環境変数TZ はAUTOECEC.BAT に「SET TZ=JST」などと記述するなどして定義することができます。ただし、定義してもタスクトレイの時刻は変わりません。 C、C++でプログラムした場合、現在時刻を得るためにCTime::GetCurrentTime などを使用すると思います。 これらのAPIでは、環境変数TZが定義されている場合は それを使用し、定義されていなけばシステム時刻を 取得するような仕様のようです。 上記のような理由から、システム時刻よりも環境変数TZが優先されるのには、理由があるのでしょうか。 また、環境変数TZが定義されている場合であっても システム時刻を取得する方法はあるのでしょうか。 よろしくお願いします。

  • 海外の現地時間と日付をもとめたい。

    現在、Win2003 + ASP + Oracle9iで開発された掲示板を改修しています。 今までは最終更新日付を日本時間で表示していましたが、 今回の改修でiniファイルにタイムゾーンと日本時間との時差を設定し、 それを読み込んだ上でそのタイムゾーンでの日付と時刻を表示することに なりました。 仕様としては、 iniファイルにタイムゾーン(例:アメリカ東海岸標準時の場合ESTと設定。)と 日本時間との時差(上の例で行くと-14時間)を設定。 それを元に日本時間でDBには登録されているので、DBの時間と iniファイルの情報から現地時間表示をしようとするものです。 ちなみにDBはDATE型ですので、2006/05/12 12:00:00と登録されています。 このiniファイルとDBに登録された日本時間だけで現地の日付と曜日と時刻を もとめることはできるのでしょうか。 できるとすれば、どのようにもとめればいいのでしょうか。 よろしくお願いします。

  • Ctime

    VCのformでアプリケーションを作っています。 時刻を取得したくてCTimeを使用したいと思いますが、 CTimeを使うにはどのようにどこに定義すればいいですか? ヘッダ?using namespace? よろしくお願いいたします。

  • perlで時差の取得

    こんにちは。 perlで現在のサーバーにおける時差を取得するにはどうしたらよいのでしょうか? ローカル時刻ではなくて、「時差」そのものを知りたいのです。 環境変数TZは設定されていますが、'Japan'となっていたりで、これだけでは時差がわかりません。 localtime(0)から求める方法もありそうですが、あまりスマートな感じがしないです。 なにか良い方法はないものでしょうか?

    • ベストアンサー
    • Perl
  • 内部時計と異なる時間(タイムゾーン)の表示ソフト

     海外で時差のある地域に滞在している場合、現地のPCには、現地時間が設定してあるのが普通です。しかし海外から日本へ連絡をする場合、時差があることから、日本時間を考えねばなりません。  そこで、デスクトップ上に日本時間を表示してくれるソフト、すなわちPCでセッティングされているタイムゾーンとは異なるタイムゾーンの時刻を、デスクトップ上に表示してくれるソフトを探しています。  OSはWindowsXP(32bit)です。できれば24時間のデジタル表示が望ましいのですが、ご存じの方がいらっしゃれば、ご紹介頂けませんか。また可能な限り、メモリ消費量が少ない方が、助かります。  よろしくお願いします。

  • なぜタイムゾーン名が必要?

    Linuxなどで環境変数TZに「JST-9」などと、日本標準時であること時差を設定しますが、これらを設定する意味が、いまひとつ解りません。 つまり、設定ファイルなどにJSTが登録されているなら、わざわざ時差を指定する必要がないような気がするのです。 「JST」を設定するだけで時差が9時間だと判別できる、あるいは「-9」と書くなら「JST」を付ける意味がないのでは、と思うのです。なぜ両方を指定する必要があるのでしょう。 また海外時間の場合は「EST5EDT」というように、標準時、時差、夏時間ON、と書いたりしますが、わざわざ夏時間のON・OFFを指定しなくても地域と日付から自ずと特定できるのではないかと思うのですが、この点も意味がよく解りません。 さらに夏時間の存在しないハワイ州に「HDT」というものが存在するのも、何の意味があるのか…。 私が、根本的・基本的な内部での処理が理解できていないのだと思うのですが、上記のようなこと、どなたかご教授いただけたらと思います。 よろしくお願いいたします。

  • 海外の鉄道の時刻表の表記方法

    日本では、考えることは無いでしょうが海外だと大陸がつながっていて離れた場所だと時差があると思います。それこそロシアでは、それぞれの端で9時間も時差があるそうです。もしもそれだけ離れたところに行くときに新幹線のような高速で走るもので行けば出発した場所と到着した場所で時計の時刻が違うと思うのですがこの場合現地の人たちはどうやって電車の時刻を決めたり調べたりしているのですか?

  • アメリカと日本の時差について

    なぜ日本からハワイの方が近いのにニューヨークより時差があるのでしょうか? 教えてくださいよろしくお願いします。 東部時間イースタン・タイムゾーン EST 14時間 13時間 ニューヨーク、ワシントン、 ボストン、 フィラデルフィア、 アトランタ、デトロイト、 マイアミ 中部時間 セントラル・タイムゾーン CST 15時間 14時間 シカゴ、ヒューストン、 ダラス、ニューオリンズ、 ミネアポリス、セントルイス 山岳部時間 マウンテン・タイムゾーン MCST 16時間 15時間 フェニックス、デンバー、 ソルトレークシティ、エルパソ 太平洋時間 パシフィック・タイムゾーン PST 17時間 16時間 ロサンゼルス、 サンフランシスコ、 ラスベガス、シアトル アラスカ州 18時間 17時間 アンカレッジ ハワイ州 19時間 ***** ホノルル

  • 時差を教えてください

    アメリカ東部の6月現在の夏時間と日本時間の時差を教えてください。

  • 韓国の標準時刻が日本の明石市と一緒なのは不快じゃないの?

    韓国の標準時刻が日本の明石市と一緒なのは不快じゃないの? 日本・韓国ともにその標準時刻は、東経135度線を基準としています。 「135÷15=9」なので、東経135度はグリニッジから見て 9時間ジャストの時差となります。 皆さんご存知の通りこれは兵庫県明石市を通りますが、韓国の領土は 通りません。 韓国人はこれについてどう思ってるのでしょうか? 「わが国の標準時刻線がわが国を経由しないなんて、わが国は日本の 植民地か!」って怒らないんですかね?