How to convert datetime() to timestamp() in Erlang

2020-08-09 10:08发布

问题:

I need to convert {{2012, 9, 21}, {13, 21, 11}} into timestamp().

How can I do that?

回答1:

Corrected version:

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}.


回答2:

You might use this

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

This is part of module from this Github/Arboreus



标签: erlang