対象: Navigator および Communicator (全バージョン)
Operating Systems: Windows 3.x, Windows 95, Windows NT 4.0.

問題: 「自分で送ったメールやニュースグループのメッセージを見ると、時間が1時間またはそれ以上違っている」

解決法:

Windows 95/NT 4.0

  1. システムトレイの右端にある時間表示をダブルクリックします。
  2. 開いたダイアログボックスで、「タイムゾーン」タブを選びます。
  3. ドロップダウンメニューを用いて、あなたの所在のタイムゾーンを正しく選びます。
  4. 「夏時間の調整をする」をチェックします。(訳注:現在の所、日本では不必要です)
  5. OK をクリックして、設定を保存します。

Windows 3.1

あなたがコンピュータの時計を合わせた時に使っていたタイムゾーンを、システムに設定する必要があります。
標準的な(そしてNetscape Navigator が期待する)方法は、あなたのautoexec.bat に次の一行を加える事です。

SET TZ=aaahhbbb

 
ここで:
aaa は、あなたの地域の標準時の略号、
hh は、グリニッジから何時間、西に離れているか、
bbb (省略可能) は、あなたの地域の夏時間の略号、です。
 
以下に例示します:
(GMT   ) set tz=GMT000     Greenwich Mean Time; London, Edinburgh, Dublin, Casablanca, Monrovia =0
( -1:00) set tz=+01+01     Azores, Cape Verde Is. =60 ( -2:00) set tz=+02+02 Mid-Atlantic =120
( -3:00) set tz=+03+03     Buenos Aires, Rio de Janiero,E. South America =180
( -3:30) set tz=Nwf+03:30  Newfoundland =210
( -4:00) set tz=AST+04ADT  Atlantic Time (Canada) ,Caracas, La Paz =240
( -5:00) set tz=EST+05EDT  Eastern Time (US & Canada), Bogota, Lima, Indiana (East) =300
( -6:00) set tz=CST+06CDT  Central Time (US & Canada), Mexico City, Tegucigalpa, Saskatchewan =360
( -7:00) set tz=MST+07MDT  Mountain Time (US & Canada), Arizona =420
( -8:00) set tz=PST+08PDT  Pacific Time (US & Canada), San Francisco, LA, Tijuana =480
( -9:00) set tz=+09+09     Alaska =540
(-10:00) set tz=+10+10     Hawaii =600
(-11:00) set tz=+11+11     Midway Island, Samoa =660
(-12:00) set tz=+12+12     Enewetak, Kwajalein,Dateline =720
( +1:00) set tz=MEZ-01     Paris, Berlin, Madrid, Stockholm, Rome,W. Europe =-60
( +2:00) set tz=OEZ-02     Athens, Helsinki, Istanbul,E. Europe, Harare, Pretoria,South Africa, Israel =-120
( +3:00) set tz=-03-03     Baghdad, Kuwait, Nairobi, Riyadh,Saudi , Moscow, St. Petersburg =-180
( +3:30)                   Tehran,Iran =-210
( +4:00) set tz=-04-04     Abu Dhabi, Muscat, Tbilisi, Kazan, Volgograd,Arabia =-240
( +4:30)                   Kabul,Afghanistan =-270
( +5:00) set tz=-05-05     Islamabad, Karachi, Sverdlovsk, Tashkent,West Asia =-300
( +5:30)                   Bombay, Calcutta, Madras, New Delhi, Colombo,India =-330
( +6:00) set tz=-06-06     Alma Ata, Dhaka,Central Asia =-360
( +7:00) set tz=-07-07     Bangkok, Jakarta, Hanoi,Bangkok =-420
( +8:00) set tz=-08-08     Beijing, Chongqing, Urumqi, Hong Kong, Perth, Singapore =-480
( +9:00) set tz=-09-09  東京, 大阪, 札幌, ソウル, ヤクーツク =-540
( +9:30) set tz=???-09:30  Adelaide,Central Australia, Darwin =-570
( +10:00) set tz=-10-10    Brisbane, Melbourne, Sydney, Guam, Port Moresby, Vladivostok,West Pacific, Hobart =-600
( +11:00) set tz=-11-11    Magadan, Soloman Is., New Caledonia,Central Pacific =-660
( +12:00) set tz=-12-12    Fiji, Kamchatka, Marshall Is., Wellington, Auckland,New Zealand =-720
 
================================================================================

James Fuller による、以下の情報は参考になるでしょう:
(訳注:以下はニュースグループの話なのですが、馴染みのない方も多いと思うので、メールとして訳しました)

> メールの時間はどのようにして計算されているのですか?
> 私は誤解しているようですが、以下のどこが間違っているのですか?
>
> 1. メールを出すと、サーバーは出した時間を見て、(TZ 環境変数での)指定がなければ、
> そのサーバーのタイムゾーンを設定するのでは?

すべての、nntp および smtp メッセージは、時間情報を、"Date:" フィールドに記録しています。ここには、メッセージが送られた日付と時間、およびタイムゾーンが書かれています。
例えばあなたのメッセージヘッダーには、"Date: Mon, 22 Apr 1996 08:29:35 +0000"とあります。

もしプログラムが、ヘッダーに"Date:" フィールドの情報を記さなければ、ある種のサーバーはメッセージを受け取りません。また別の種類のサーバーは、メッセージに受け取った時間を書き加えます。これが、単に中継するだけのサーバーであることに注意してください。これ以降、メッセージは"Date:" フィールドを持つことになります。

多くのプログラム(とサーバー)は、タイムスタンプ値を得るために、標準的なライブラリ・ファンクション(localtime() など)を用います。このファンクションはOSと、おそらくTZ 環境変数を呼び出します。
サーバーは、"Date:" フィールドに書き込むに当って、何かを推測するような事はしません。ただ単に自分のローカルタイムを入れる場合もありますが、多くの場合、グリニッジ標準時(GMT)を書き込みます(UNIXマシンの大多数と、インターネットの世界は、GMTで動いています)。

いずれにせよ、正しい時間がヘッダーに記されます。ただし、プログラムが間違った時間を"Date:" フィールドに書き込んだ場合はその限りではありません。(私が、NT 3.51 に Service Pack 4 をインストールした時に、これが生じました)

プログラムは、時間の情報をシステムから呼び出す事ができますが、ヘッダーの情報はタイムゾーンの情報に依存しているかも知れません。32-bit の Windows OS とUnix は、これらの情報をサポートしています。しかし、古い Windows と MS-DOS には手掛かりがないので、ソフトウェア開発者は、基本的に、コンパイラのライブラリ・ファンクションとTZ 環境変数を頼らなければなりません。

MS-DOS と Windows では、TZ 環境変数の使用は比較的まれなので、いくつかのソフトウェア(Pegasus や Free Agent など)では、セットアップや設定で、明示的にタイムゾーンの情報を聞いてきます。そのため、OS にTZ 環境変数が必要なことがますますわかりにくくなるのです。

> 2. あなたがメールを読む場合、(TZ 環境変数での)指定がなければ、
> Navigator は、あなたがサーバーと同じタイムゾーンにいると推察するのでは?
> メッセージが出された時間はこのようにして調整されるのではないのですか?

前半は誤りです。もしあなたが、TZ 環境変数を設定していなければ、あなたはカリフォルニアにいるものとして設定されます。
後半は正解です。Netscape は、ヘッダーの情報とあなたの(TZ 環境変数での)ローカル時間から、メッセージの送られた時間を、ローカルな時間に調整して表示します。

> 私は、(スイスにいるので) TZ=MEZ と設定しましたが、メールの時間は正確になりません。
> 例えば、(ジョージア州の) Bill Horne のメッセージには:
> Date: Sun, 21 Apr 1996 23:56:27 -0400
> とありますが、私と彼は、6時間離れているはずです。

TZ 環境変数には数字が必要です(実のところ、必要なのは数字だけで、文字はラベルとして使われるだけです)。
あなたが、GMT の二時間東にいるのなら、TZ=MEZ-2 が正しい書式です。
あなたのTZ の設定がどうなっているかは、Bill のタイムゾーンの表記には影響しません。
あなたが(MEZ-2)と正しく設定していれば、彼のメッセージの表記は、次の日の午前 5:56、すなわち、ジョージア州で彼がメッセージを送った瞬間の、あなたのローカル時間となる筈です。

Isn't this fun!

Jim Fuller



最終更新 1998/8/21

第1部の目次へ戻る

UFAQ日本語版の目次へ戻る


翻訳および編集 池田譲治

The UFAQ Japanese edition is translated & edited by Joji Ikeda.