經常使用代碼
spa
date()返回P{年,月,日}io
erlang:now轉本地時間ast
15> calendar:now_to_local_time(erlang:now()).function
{{2012,5,17},{14,32,6}}date
erlang:now轉世界時間erlang
16> calendar:now_to_universal_time(erlang:now()).exception
{{2012,5,17},{6,33,2}}rsa
17>im
驗證合法的日期error
20> calendar:valid_date({0,0,0}).
false
21> calendar:valid_date({0,1,0}).
false
22> calendar:valid_date({0,1,1}).
true
26> calendar:valid_date(90,1,10).
true
得到本地時間 年 月 日小時 分 秒
1> {{Year,Month,Day},{Hour,Min,Second}}=calendar:local_time().
{{2012,5,17},{14,13,14}}
2> b().
Day = 17
Hour = 14
Min = 13
Month = 5
Second = 14
Year = 2012
ok
得到世界時間
3> calendar:universal_time().
{{2012,5,17},{6,16,27}}
本地時間轉換到世界時間
10> calendar:local_time_to_universal_time_dst({{2012,3,12},{3,23,12}}).
[{{2012,3,11},{19,23,12}}]
11> calendar:local_time_to_universal_time_dst({{2012,3,12},{4,23,12}}).
[{{2012,3,11},{20,23,12}}]
12> calendar:local_time_to_universal_time_dst({{2012,3,12},{5,23,12}}).
[{{2012,3,11},{21,23,12}}]
13> calendar:local_time_to_universal_time_dst({{2012,3,12},{15,23,12}}).
[{{2012,3,12},{7,23,12}}]
14> calendar:local_time_to_universal_time_dst({{2012,3,12},{16,23,12}}).
[{{2012,3,12},{8,23,12}}]
世界時間轉本地時間
12> calendar:universal_time_to_local_time({{2012,3,12},{3,23,12}}).
{{2012,3,12},{11,23,12}}
13> calendar:universal_time_to_local_time({{2012,3,12},{5,23,12}}).
{{2012,3,12},{13,23,12}}
14> calendar:universal_time_to_local_time({{2012,3,12},{20,23,12}}).
{{2012,3,13},{4,23,12}}
計算是星期幾
13> calendar:day_of_the_week(1984,5,15).
2
14> calendar:day_of_the_week(2012,5,17).
4
計算是否閏年
5> calendar:is_leap_year(1990).
false
6> calendar:is_leap_year(2000).
true
計算某年某月有多少天
7> calendar:last_day_of_the_month(2000,2).
29
8> calendar:last_day_of_the_month(2000,3).
31
9> calendar:last_day_of_the_month(1990,2).
28
秒轉時間
4> calendar:now_to_datetime(erlang:now()).
{{2012,5,17},{5,41,24}}
5> calendar:seconds_to_daystime(87400).
{1,{0,16,40}}
6> calendar:seconds_to_daystime(97400).
{1,{3,3,20}}
7> calendar:seconds_to_daystime(80400).
{0,{22,20,0}}
若是沒有超過一天可使用
8> calendar:seconds_to_time(80400).
{22,20,0}
9> calendar:seconds_to_time(86400).
** exception error: no function clause matching calendar:seconds_to_time(86400) (calendar.erl, line 357)
時間轉到秒
10> calendar:time_to_seconds({22,20,0}).
80400
11> calendar:time_to_seconds({1,{22,20,0}}).
** exception error: no function clause matching calendar:time_to_seconds({1,{22,20,0}}) (calendar.erl, line 390)
計算Unix Timestamp
timestamp() ->
calendar:datetime_to_gregorian_seconds(erlang:universaltime()).
或者:
timestamp() ->
{M, S, _} = erlang:now(),
M * 1000000 + S.