▽19990622c
#日記
ところで 6月 6日のぱぱんだ氏の日記にある localtime() の返り値の謎の件. 「年の値が,99 の次が 100」というものと, 「月の値が,最初が 0」というものだ.
年に関しては,要は「1900を足せば西暦」というもので, perl では数値演算と文字列操作がはっきり区別されてる癖に変数型は特に区別しない, とゆーヘンな特性があるので, ( $year + 1900 ) の演算結果を文字列として使用できるから, わざわざ文字列として ( "19" . $year ) とする必要がなく, だからある意味で便利で簡単な 2/4 桁年号対応といえるかもしれない. けど localtime() の返り値は C でもそのままなので, やっぱしヘンやね(どっちやねん(笑)
月の方は,
$monthstr = [ qw/Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec/ ][ $month ];
みたく,配列の添え字に使用する事を想定してるらしいので,
そういう前提を考えればこれも合理的...なのかも.
あたしとしては,合理性を重んじる(と思う)欧米において, どーして「月を数字でなく文字列で表現する」なんつー, 不自然で面倒で非合理的な方式が採用されてるのか,甚だ疑問だー! 数字でいいやん数字で!(笑)