From: matz@... (Yukihiro Matsumoto) Date: 1998-10-09T10:16:18+09:00 Subject: [ruby-list:9900] Re: man-1.1/Marshal.html まつもと ゆきひろです In message "[ruby-list:9898] Re: man-1.1/Marshal.html" on 98/10/09, Tadayoshi Funaba writes: |Ruby の Time ですが、1970年 1月1日からの秒数ということが基本にになって |いますが、もう少し定義をハッキリさせないといけないんじゃないかって気が |しています。 そうなんですか.これ以上に明確な定義は無いと思ってたんですが. Timeは内部的には秒数しか保存していません.あと,ローカルタイ ムかGMTかのフラグとlocaltime(3)/gmtime(3)で得られた日付情報 のキャッシュと. ですから,閏秒に対応しているかどうかはlocaltime(3)などの実装 に依存するわけです.ということで,厳密には |考えるとすれば、Time を利用して日を勘定するために 86400 (24*60*60) |で割る、なんてことはしてはいけないと、利用者に警告しておかなければいけ |ないように思います (どこかで見たような)。 は言えますね.どこかに書いておこう. |もちろん、 Marshal についても考慮しないといけいない。 しかし,一方 the epoch からの秒数という情報は十分普遍的なの で(tm構造体の方は書き出しません),定義から言えばMarshalの実 装は考慮する必要は無いはずです. しかし,そのマシンのlocaltime(3)などが閏秒を考慮しているかど うかで日付がずれるのはたしかなので,この件もどこかに書いてお きましょう. |ついでですが、マニュアルをみると、GMT といういいかたがありますが、旧い |いいかたなので、 UTC のほうがいいように思います。計算機では GMT という |表現が残ってしまったので、そのほうが通りがよい、ということもあるでしょ |うから、必要なら、注釈でもつけるというのはどうでしょう。 そうですね.実際に関数名がgmtimeだったりしますしね.適切な注 と言うのはどういう内容になりますかね.GMTからUTCに呼び名が変 更された経緯を知らないので,私には適切な注が付けられそうにあ りません. |あと、 「整数 |の場合は00:00:00 GMT, January 1, 1970 からの秒数とみなします」と、突然 |が英語が混じっているのですが、そうする必要はないと思うので、日本語にし |ませんか。 わかりました. まつもと ゆきひろ /:|)