このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

MacPerlのtimeの返し値は?

発言者:SBK
( Date Tuesday, May 20, 1997 08:51:36 )


$now = time;
print"now => $now<BR>\n";
とした場合、これをプロバイダーのUNIX上と、Macintosh上で返して
くる値が違うのですが、なぜでしょうか?

また、UNIX上では、
local($second, $minute, $hour, $day, $month, $year, $dayname, $daycount, $isdst) = localtime($now);
print"now => $now<BR>\n";
print"para => $second, $minute, $hour, $day, $month, $year<BR>\n";
$s = timelocal($second, $minute, $hour, $day, $month, $year);
print"timelocal => $s<BR>\n";
は正常に動くのですが、MacPerlでは、timelocalの返し値が、
私のマシンの場合、-1になってしまいます。

初歩的なことですが、ご存知の方、教えてください。

よしもと さんからのコメント
( Tuesday, May 20, 1997 09:25:52 )

えっと、MacPerlに付属している"MacPerl.Specifics"というドキュメント
に

All time related functions measure time in seconds from 1904,
not 1970 as in Unix.

とあります。

ショージ さんからのコメント
( Tuesday, May 20, 1997 10:42:27 )

timelocal.plの問題じゃないですか?


はじめから付いてくるライブラリはバグがあるので、CPANにあるBUG Fix版の

ライブラリを使いましょう。CPANはKDDがいいんだっけ?


ショージ

shoji@dit.co.jp


SBK さんからのコメント
( Wednesday, May 21, 1997 08:03:54 )

よしもと さん、ショージ さん、ありがとうございます。

とりあえず、timelocalの中味を自分で作ってしまいましたが、
探してみます。

timeが返す数値に互換があるとおもっており、データーファイル
をMac上で作ってしまったので、また、その部分を作り直さねばな
らなくなったかと思うと......トホホ。

smart さんからのコメント
( Wednesday, May 28, 1997 15:21:32 )

このバグに、私もはまって居ます。
BUG Fix版の場所を、もう少し詳しく教えて下さい。