如何在erlang中将datetime()转换为timestamp()

时间:2012-09-21 09:34:26

标签: erlang

我需要将{{2012,9,21},{13,21,11}}转换为时间戳()。我怎样才能做到这一点? 谢谢。

2 个答案:

答案 0 :(得分:15)

更正版本:

Seconds = calendar:datetime_to_gregorian_seconds(DateTime) - 62167219200,
%% 62167219200 == calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}})
{Seconds div 1000000, Seconds rem 1000000, 0}.

答案 1 :(得分:1)

您可以使用此

to_timestamp({{Year,Month,Day},{Hours,Minutes,Seconds}}) ->
(calendar:datetime_to_gregorian_seconds(
    {{Year,Month,Day},{Hours,Minutes,Seconds}}
) - 62167219200)*1000000;

这是模块的一部分 Github/Arboreus