Convertir la marca de tiempo a datetime en erlang
Pregunta
¿Cómo puedo convertir una marca de tiempo (número de milisegundos desde el 1 de enero de 1970 ...) al formato Fecha o Fecha y hora en Erlang? Algo como {año, mes, día}.
Solución
A grandes rasgos:
msToDate(Milliseconds) ->
BaseDate = calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}),
Seconds = BaseDate + (Milliseconds div 1000),
{ Date,_Time} = calendar:gregorian_seconds_to_datetime(Seconds),
Date.
Otros consejos
Da la casualidad de que tengo un github gist con un montón de utilidades de fecha y hora para exactamente este propósito: http: / /gist.github.com/104903 . El calendario tiene la mayoría de las tuberías de bajo nivel para estas cosas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow