Part.4 date/now

日付はこの二つが BIF におります。

Erlang (BEAM) emulator version 5.6.5 [source] [64-bit] [smp:2] [async-threads:128] [kernel-poll:true]

Eshell V5.6.5  (abort with ^G)
1> date().
{2008,11,23}
2> now().
{1227,373544,427217}
10> erlang:localtime().
{{2008,11,23},{2,27,59}}

Now は {MegaSecs, Secs, MicroSecs} で "00:00 GMT, January 1, 1970" です。date は言うまでもなく {年, 月, 日} です。

calendar モジュールを使うと結構色々出来ます。

3> calendar:now_to_datetime(now()).
{{2008,11,22},{17,11,43}}
4> calendar:local_time().
{{2008,11,23},{2,14,46}}

時間はいつの世も面倒なもので、色々問題がありますのでその時々で使い分けましょう。

ちなみに Python はこんな感じ

>>> import datetime
>>> datetime.date.today()
datetime.date(2008, 11, 23)
>>> datetime.datetime.now()
datetime.datetime(2008, 11, 23, 2, 10, 39, 990225)