calendar:gregorian_seconds_to_datetime/1
从给定的公历秒数里计算出日期和时间
用法:
gregorian_seconds_to_datetime(Seconds) -> datetime()
内部实现:
%% gregorian_seconds_to_datetime(Secs) %% -spec gregorian_seconds_to_datetime(Seconds) -> datetime() when Seconds :: non_neg_integer(). gregorian_seconds_to_datetime(Secs) when Secs >= 0 -> Days = Secs div ?SECONDS_PER_DAY, Rest = Secs rem ?SECONDS_PER_DAY, {gregorian_days_to_date(Days), seconds_to_time(Rest)}.
把给定的公历秒数 Seconds (从 1970-1-1 00:00:00 开始)转换成日期和时间。
StartTime = calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}), {MegaSecs, Secs, _MicroSecs} = erlang:now(), Seconds = MegaSecs * 1000000 + Secs, calendar:gregorian_seconds_to_datetime(Seconds + StartTime).
StartTime = calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}), calendar:gregorian_seconds_to_datetime(1 + StartTime).
StartTime = calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}}), calendar:gregorian_seconds_to_datetime(1234567890 + StartTime).