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

Kir*_*mov 12 erlang

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

Ale*_*nov 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}.
Run Code Online (Sandbox Code Playgroud)

  • 没关系,但要注意,如果你使用函数erlang:now()获取时间戳进行比较或任何计算,如果从1970年1月1日开始给你时间估计,而calendar:datetime_to_gregorian_seconds/1则1/1/0的评价.所以有719528天的差异...... (3认同)