从 ejabberd 以 UTC 格式发送时间
sending time in UTC format from ejabberd
我正在从服务器 (ejabberd) 向客户端发送一条 xmpp 消息。此消息包含一个包含 UTC 日期(基本上是自 1970 年以来的秒数)的字段 format.How 以在 erlang 中获取 UTC 格式的日期?任何指针
Use calendar:universal_time/0
universal_time() -> datetime()
datetime() = {date(), time()}
date() = {year(), month(), day()}
time() = {hour(), minute(), second()}
像这样
{Date, _Time} = DateTime = calendar:universal_time()
您可以参考this问题将datetime()
转换为unix时间戳。您只需要将时间戳转换为自 1970/01/01 以来的秒数:
Seconds = calendar:datetime_to_gregorian_seconds(DateTime) - 62167219200,
%% 62167219200 == calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}})
我正在从服务器 (ejabberd) 向客户端发送一条 xmpp 消息。此消息包含一个包含 UTC 日期(基本上是自 1970 年以来的秒数)的字段 format.How 以在 erlang 中获取 UTC 格式的日期?任何指针
Use calendar:universal_time/0
universal_time() -> datetime()
datetime() = {date(), time()}
date() = {year(), month(), day()}
time() = {hour(), minute(), second()}
像这样
{Date, _Time} = DateTime = calendar:universal_time()
您可以参考this问题将datetime()
转换为unix时间戳。您只需要将时间戳转换为自 1970/01/01 以来的秒数:
Seconds = calendar:datetime_to_gregorian_seconds(DateTime) - 62167219200,
%% 62167219200 == calendar:datetime_to_gregorian_seconds({{1970, 1, 1}, {0, 0, 0}})