Я использовал эту функцию, когда дело доходит до преобразования удобочитаемых временных меток из erlang:timestamp()
:
format_utc_timestamp(TS, Separator) ->
{_,_,Micro} = TS,
{{Year,Month,Day},{Hour,Minute,Second}} =
calendar:now_to_universal_time(TS),
io_lib:format("~4w-~2..0w-~2..0w~s~2..0w:~2..0w:~2..0w.~6..0w",
[Year,Month,Day,Separator,Hour,Minute,Second,Micro]).
Где TS
- это значение временной метки {MegaSecs, Secs, MicroSecs}
, а Separator
- этострока, которая будет использоваться для красивой печати метки времени.Это даст вам формат с T
в качестве разделителя:
2019-09-25T10:19:19.020202
Если вы хотите получить метку времени ISO 8601 , вы можете выполнить следующее форматирование напоследняя строка функции выше:
io_lib:format("~4w-~2..0w-~2..0wT~w:~2..0w:~2..0wZ", [Year,Month,Day,Hour,Minute,Second])
, что приведет к 2014-09-22T20:53:44Z