2006年1月 2日

月のオリジン

各種のプログラミング言語の API において、月のオリジン (始まり) が 0か 1か調べてみました。

 

結果は次のようになりました。

言語 (API)オリジン
C (localtime)0
Java (Calendar)0
Perl (localtime)0
JavaScript (Date)0
Ruby (Time)1
Ruby (Date)1
Perl (DateTime)1
Perl (Time::Piece)1
Python (time)1
Python (datetime)1
PHP (getdate)1
Scheme (srfi 19)1
.NET (DateTime)1

スクリプト言語の挙動について、コマンドラインから試すには次のように実行します。

% perl -le 'print((localtime)[4])'
0
% echo "print ((new Date).getMonth())" | js
0
% ruby -e 'p Time.now.month'
1
% ruby -rdate -e 'p Date.today.month'
1
% perl -MDateTime -le 'print DateTime->now->month'
1
% perl -MTime::Piece -le 'print Time::Piece->new->mon'
1
% python -c 'import time; print time.localtime()[1]'
1
% python -c 'import datetime; print datetime.datetime.today().month'
1
% php -r '$a = getdate(); echo $a["mon"], "\n";'
1
% gosh -usrfi-19 -e '(print (date-month (current-date)))' -E exit
1

まとめ

0 と 1 がありました。新年早々、バッドノウハウでした。