如何将 Unix 纪元时间戳转换为 Erlang 时间戳格式?

How to convert Unix Epoch Timestamp to Erlang timestamp format?

我正在尝试向我的 ejabberd mod_muc_room 添加一些额外的功能,但是 jlib:now_to_utc_string 似乎不接受 Unix 时间戳并且要求它们采用 Erlang 的内置格式。尝试使用“1519633372486003”而不是“{1519,633372,486003}”会使 mod_muc_room 崩溃。

我至少找到了几种将 Erlang 时间戳转换为 Unix 时间戳的方法,但我找不到进行反向转换的方法。

有没有办法在将数字连接在一起并将它们转换回数字之前不将整数转换为二进制和二进制转换为元组?

您可以使用divrem提取三个值:

1> M = 1000000.
1000000
2> T = 1519633372486003.
1519633372486003
3> {T div M div M, T div M rem M, T rem M}.
{1519,633372,486003}