如何在erlang中将日期时间转换为日期名称和月份名称?

时间:2018-07-13 14:01:20

标签: date datetime time erlang otp

如何在Erlang中关注 DateTime Fri Jul 13 19:12:59 IST 2018

2 个答案:

答案 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设置不同的格式。建议仅在必须支持旧系统的情况下使用,因为此函数调用的使用似乎很昂贵。