【发布时间】:2021-06-02 01:16:32
【问题描述】:
我想获取当前时间,并按如下方式格式化:
yyyy-MM-dd'T'HH:mm:ss.SSSZ
(其中 SSS 是毫秒,Z 是时区)
目前我的代码如下:
formatted_date() ->
{{Y,M,D},{H,Min,S}} = erlang:localtime(),
{Ms, _, _} = os:timestamp(),
{Days, {Hours, _,_}} = calendar:time_difference(erlang:universaltime(), erlang:localtime()),
Difference = 24*Days + Hours,
Tz = [case Difference < 0 of
true ->
$-;
false ->
$+
end | io_lib:format("~2..0B00",[Difference])],
io_lib:format("[~4..0B-~2..0B-~2..0BT~2..0B:~2..0B:~2..0B.~3..0B ~5.s]",
[Y, M, D, H, Min, S, Ms, Tz]).
事实是它总是返回相同的 Ms,因此,我认为我做得不好,在其他问题中我只看到如何获取以毫秒为单位的总时间,而不是如何在此格式化方式。
谢谢。
【问题讨论】: