
Linuxなどで環境変数TZに「JST-9」などと、日本標準時であること時差を設定しますが、これらを設定する意味が、いまひとつ解りません。
つまり、設定ファイルなどにJSTが登録されているなら、わざわざ時差を指定する必要がないような気がするのです。
「JST」を設定するだけで時差が9時間だと判別できる、あるいは「-9」と書くなら「JST」を付ける意味がないのでは、と思うのです。なぜ両方を指定する必要があるのでしょう。
また海外時間の場合は「EST5EDT」というように、標準時、時差、夏時間ON、と書いたりしますが、わざわざ夏時間のON・OFFを指定しなくても地域と日付から自ずと特定できるのではないかと思うのですが、この点も意味がよく解りません。
さらに夏時間の存在しないハワイ州に「HDT」というものが存在するのも、何の意味があるのか…。
私が、根本的・基本的な内部での処理が理解できていないのだと思うのですが、上記のようなこと、どなたかご教授いただけたらと思います。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
1. 「-9」と書くだけでは、その地域の標準時がJST(日本標準時)なのか別の国の標準時なのか、といったことが判別できませんので、「-9」と書くだけでは不足です。
2. 「JST」は「JST-9」と同じ意味なので、「JST-9」と書くことは基本的には冗長です。ただし、これは他所に「JSTの時差は-9である」という一覧を持っていることが前提になります。仮に新しい国が誕生し、新しい標準時表記が現れたとき、「一覧表」に頼っていると一覧表が更新されるまでその新しい標準時表記には対応できなくなってしまいます。「JST-9」という形式の表記であれば、一覧表を必要としないので、そのような問題は生じません。
3. 米国の夏時間は、必ずしも全国的に行われているわけではありません。夏時間実施期間中は、「EST5EDT」の地域(夏時間になる地域)もあれば「EST5」の地域(夏時間を実施していない地域)もあるわけです。
4. HDTは「ハワイ/アラスカ夏時間」で、ハワイでは夏時間を実施していないが、アラスカでは実施しており、そちらで使われるようです。
ご回答ありがとうございます。
なるほど、ようするに最初の3文字「JST」はOSの内部処理的にはあまり重要な意味を持っていない、と考えてよさそうですね。
その後調べてみたら、実に様々な過去の歴史とか政治的な事情などがあって、JSTにも夏時間の識別子が存在するとか、夏時間スタートの時期がよくわからなかったり、地域の判別も複雑なようですね。
結局のところ、ローカルタイムを算出するための差分を与えるだけで、それにしたがって加減算をするだけなんですね。
プログラムにおいては、数字部分以外は、あまり気にしないことにします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付け変更線を教えてください
-
インドの時差が3時間30分ってど...
-
20ヘクタールというのはどのく...
-
バンコクは基本
-
岐阜県について
-
エクセルでの人口増減率の求め方
-
三重県四日市市について
-
「suburb」と「the suburbs」の...
-
地下室のある戸建て住宅の容積...
-
4600平方メートルをイメージで...
-
碁盤の町と放射の町
-
今年の7月5日に日本が崩壊する...
-
沖ノ鳥は岩だから領有権はない...
-
タイルカーペット30cm×30...
-
SQLです教えてくださいお願いし...
-
A4サイズの倍は?
-
沖ノ鳥島は沖縄県ですか?
-
一番東にある国ってどこ?
-
幕末、欧米列強は、「日本には...
-
次の文に当てはまる都市を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報