在Erlang中,我可以通过以下代码获得Unix Epoc时间戳:
{MegaSecs, Secs, MicroSecs} = now(). UnixTime = MegaSecs * 1000000 + Secs.
OR(如某些网站所建议的)
calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.
但是,erlang:now()
的结果发生了转换。如果我的格式为"YYYY-MM-DD HH:MI:SS"
格式的给定日期时间值,该怎么办? "2012-12-30 15:13:40"
现在是24小时格式。
这是我在erlang中需要做的website gives the complete picture。
在我的代码中,我如何可以“随意”将人类可读格式转换为unix epoch时间戳,反之亦然。这样,如果在我的程序中我将时间戳存储为Unix Epochs,在读取它们时,我可以从unix时间戳值自动检索人类可读格式,反之亦然。
答案 0 :(得分:4)
您可以使用此lib:https://github.com/selectel/tempo
tempo 是一个用于在Erlang中解析和格式化日期的库。它为libc的strptime和strftime函数提供了一个干净而漂亮的界面,遗憾的是Erlang的标准库中没有这些函数。
答案 1 :(得分:3)