如何在Erlang中关注 DateTime ?
Fri Jul 13 19:12:59 IST 2018
答案 0 :(得分:3)
TL; DR
使用特殊的qdate
进行所有日期/时间格式,转换和时区处理。重点查看Demonstration部分,以了解要点,并根据需要进行调整。
Erlang的日期处理很复杂,并且缺少适当的日期处理所需的主要功能。情况越来越好,但还不止于此。而且,时区处理充其量是原始的。
qdate
的函数将采用(几乎)任何日期格式并转换为任何日期格式,同时使用隐式时区(按每个进程设置时区)或通过设置特定时区
无论如何,如果您进行自定义,最终将得到类似于以下内容的内容:
1> {{Year, Month, Day}, {Hour, Minute, Second}} = calendar:now_to_datetime(erlang:now()).
{{2018,7,13},{14,39,45}}
2> lists:flatten(io_lib:format("~4..0w-~2..0w-~2..0wT~2..0w:~2..0w:~2..0w",[Year,Month,Day,Hour,Minute,Second])).
"2018-07-13T14:39:45"
...不好;)
那是我的两分钱。干杯!
答案 1 :(得分:0)
我找到了解决方法。
A = calendar:universal_time().
qdate:to_string(<<"D M j G:i:s T Y">> , <<"IST">>, A).
您可以使用http://uk3.php.net/manual/en/function.date.php设置不同的格式。建议仅在必须支持旧系统的情况下使用,因为此函数调用的使用似乎很昂贵。