タイムゾーン名の必要性

このQ&Aのポイント
  • タイムゾーン名の設定について疑問があります。
  • JSTやEST5EDTといったタイムゾーン名の意味について理解できていません。
  • タイムゾーン名の設定に必要性や意味を教えてください。
回答を見る
  • ベストアンサー

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

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

  • SV576
  • お礼率83% (40/48)

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

1. 「-9」と書くだけでは、その地域の標準時がJST(日本標準時)なのか別の国の標準時なのか、といったことが判別できませんので、「-9」と書くだけでは不足です。 2. 「JST」は「JST-9」と同じ意味なので、「JST-9」と書くことは基本的には冗長です。ただし、これは他所に「JSTの時差は-9である」という一覧を持っていることが前提になります。仮に新しい国が誕生し、新しい標準時表記が現れたとき、「一覧表」に頼っていると一覧表が更新されるまでその新しい標準時表記には対応できなくなってしまいます。「JST-9」という形式の表記であれば、一覧表を必要としないので、そのような問題は生じません。 3. 米国の夏時間は、必ずしも全国的に行われているわけではありません。夏時間実施期間中は、「EST5EDT」の地域(夏時間になる地域)もあれば「EST5」の地域(夏時間を実施していない地域)もあるわけです。 4. HDTは「ハワイ/アラスカ夏時間」で、ハワイでは夏時間を実施していないが、アラスカでは実施しており、そちらで使われるようです。

SV576
質問者

お礼

ご回答ありがとうございます。 なるほど、ようするに最初の3文字「JST」はOSの内部処理的にはあまり重要な意味を持っていない、と考えてよさそうですね。 その後調べてみたら、実に様々な過去の歴史とか政治的な事情などがあって、JSTにも夏時間の識別子が存在するとか、夏時間スタートの時期がよくわからなかったり、地域の判別も複雑なようですね。 結局のところ、ローカルタイムを算出するための差分を与えるだけで、それにしたがって加減算をするだけなんですね。 プログラムにおいては、数字部分以外は、あまり気にしないことにします。 ありがとうございました。

関連するQ&A

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

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

  • タイムゾーンの設定について(CentOs)

    LAMPにてWEBを制作をしています。 linux系はちょこちょこ触ったことはあるのですが深く知らないといったレベルです。 ですので説明下手になり長くなりますが最後まで目を通して頂けたら幸いです。 調査→対応→現状までの流れを説明させていただきます。 --------------------------------------------------------------------- 現在、デバッグを行うためにシステム時間をちょこちょこ変えながらテストをしてるのですが 私の環境のみ 日付がAM8時で日にちが変わるという状態になり、いろいろ調べてるうちに タイムゾーンの問題という事にきづきました。 dateコマンドでタイムゾーンがPDTになっいるのを確認し /etc/sysconfig/clock が/America/Los になっていたので/Asia/Tokyoに修正。 reboot dateコマンド PDTから変わらず。 で、さらに調べて /usr/share/zoneinfo/Asia/Tokyo もしくは /Japanのファイルを/etc/locatimeにリンクしました。 reboot dateコマンド PDTから変わらず。 その後、 ・環境変数のTZにJSTをぶち込んだり ・sysconfig/clockをGMTで記述してみたりと とりあえずの処置で対応してたのですが 気持ち悪い&悔しいので再度調査したのですがどこもlocaltimeのリンクを直すような記事しか のってない状態で困っています。 その後私の環境のJapanもしくはAsiaTokyoのファイルそのものがPDTになちゃってるのではと思い、 正常に動いているメンバの環境から同ファイルをコピし環境に入れ込みました。 するとdataコマンドできちんとJSTと表示され、解決したかと思ったのですが rebootするとGMTに戻ってしまいました。 sysconfig/clockがその時、前の対応でGMTで記述してたのでそれが問題かと思い Japanに修正し、rebootしなおした所正常にJSTになりました。 原因はいまいちわからないけどとりあえず当初の目標は達成したかと思ったのですが 日付の変更を行った直後にdataコマンドを投げた所今度はタイムゾーンがEDTになりました… さらにsysconfig/clockの中身も/America/New_York になるという新展開に。。。 もうこうなってくるとさすがに何がなんだかわからなくなってしまいここで質問させて いただいた次第です。 何か原因が分かる方、もしくは対処方法がわかる方いましたら 参考URLだけでもいいので教えて頂けると助かります。 もし何か情報として足りない物があれば指摘していただければと思います。 また、説明下手な上に乱文になってしまい大変申し訳ありませんでした。 最後まで読んでいただいた方には感謝いたします。

  • 日本の時刻設定に東京と大阪があるのはなぜ?

    パソコンやPDAの時間設定をするときに、住んでいる地域の設定をしますよね。住んでいるところを日本に設定しようとすると、なぜか東京と大阪がでてきませんか? 確かに、経度のことを考えれば時差が16分ほど存在するのはわかるのですが、しかし、日本の標準時間は一つだけのはずです。ならば、首都の「東京」だけを表示するか、正確に「明石市」と表示すればよいのにと思うのですが、なぜ、東京と大阪を選べるようになっているのでしょうか?ご存知の方いらっしゃったら、教えていただけないでしょうか?

  • Solaris5.6 の bshで3が月前の日付を取得するには?

    毎日1回ファイルのリストを取得しているのですが、 それを月1回ある特定の時間起動の時に、3ヶ月前の ファイルリストは削除したいと考えいます。 ファイルリストは以下の形式で保存してます。 filelist.YYMMDD(例:filelist.030208) 問題は、3ヶ月前という日付を "date"コマンドで取得 する方法がわからないという点です。 TZ=JST+15 export TZ ↑このへんだと日にち指定は出来ますが、月は指定 できなかったのです。 bshで組んでいます。 何か良い策があったら教えて下さい。

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

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

  • 現地標準時間の略語がわかるページ

    (カテ違いでしたらスミマセン) 現地標準時間の略語がわかるページを探しています。 例えば 東京だと  JST = Japan Standard Time =日本標準時間 ロスだと  PST = Pacific Std Time =アメリカ太平洋標準時間 などと、その都市で使われている時間の略語、アルファベット3文字が検索できるサイトがありますでしょうか? できるだけ地方都市まで検索できて、夏時間も計算に入れてくれるようなページが良いです。 よろしくお願いします。

  • 地域標準時と日本標準時の差、内臓時計の設定

    WindousXPの内臓時計についての質問です。 内臓時計の自動設定を行うと実際の時刻と大幅に差が生じます。 確認すると、地域標準時が日本標準時(JST)に対して-15時間の差異があります。 (http://www3.nict.go.jp/cgi-bin/JST.plで確認) 「日付と時刻のプロパティ」の「タイムゾーン」は「(GMT+09:00)大阪、札幌、東京」に設定してあります。 「地域と言語のオプション」は「日本」に設定してあります。 一体何が原因でこのようなことが起きているのか、設定方法や解消方法をご教授願えないでしょうか? 一応、手動で設定することで直接的な問題はないのですが、まるで外的要因でPCの設定が突然おかしくなったように思えて気持ち悪いです。

  • 必要な次数

    ある本に、xという時間tに関する変数がある場合、点Aから点Bに移動する際に端点での位置、速度、加速度までもを指定しようとすると5次多項式(x(t)=a0+a1t+a2t^2+a3t^3+a4t^4+a5t^5)が必要になると書いてありました。 なぜその3つをしていしようとすると5次多項式が必要になるのでしょうか。 また、これはこの3つのうち2つを指定するなら4次多項式が必要で、3つのうち1つだけ指定するなら3次多項式が必要になってくるという意味なのでしょうか。

  • “s'il est vrai qu'elle ~”の“s'”は文法上どういうもので、その意味は何ですか?

    シャンソン “Mademoiselle de Paris” http://www.paroles.net/chansons/17827.htm の歌詞の上から6行目、 “s'il est vrai qu'elle ~” で、最初のe´lisionしている“s'”は文法上どういうもので、その意味は何ですか? 私がプチ・ロワイヤル仏和辞典で調べましたら、“vrai”が「真実」で、“il est vrai que ~”で「~(なこと)は本当です」とありました。そして、ここでの“il”は非人称代名詞という説明がありました。英語ではさしずめ“It is true that ~”とでもなりましょうか。 ところで、最初に思ったのは、この“s'”は再帰代名詞“se”がe´lisionしている形ではないかと思いました。というのも、前の行(5行目)に“On dit qu'elle ~”とあり、和訳としては「人は~と言う」→「~という噂です」と与えられているからで、それに合わせて、というかそれを受けて今度は“on”の代わりに“se”で始まったのでは、と思いました。 しかし、よく考えてみたのですが、“On dit qu'elle ~”と“s'il est vrai qu'elle ~”の構文上の決定的な違いは、それぞれ最初の“On”、“s'”を取り払ってしまうと、前者は全く意味をなさなくなってしまうのに対し、後者は “il est vrai que ~”だけでも十分意味をなしていますから、あえて“se”をここに入れる必要はないのでは、と思い、すっかり分からなくなってしまいました。一体この“s'”、何なのでしょうか?

  • すみません。 急ぎです。 時差を教えてください。

    今から電話をする必要があるのですが、 インディアナ州リッチモンド(オハイオ州との境界近く)は、東部時間ですか? 今日現在の時差は何時間でしょうか。(アメリカはいつまで夏時間ですか?)