简体   繁体   中英

Unix Epoch Timestamp to Human readable Date time and back conversions

In Erlang, i can get the Unix Epoc Timestamp by the code below:

{MegaSecs, Secs, MicroSecs} = now().
UnixTime = MegaSecs * 1000000 + Secs.

OR (as suggested by some sites)

calendar:datetime_to_gregorian_seconds(calendar:universal_time())-719528*24*3600.

However that conversion has occured for the result of erlang:now() . What if i have a given date time value in the format: "YYYY-MM-DD HH:MI:SS" eg "2012-12-30 15:13:40" The time being in 24 hour format.
This website gives the complete picture of what i need to be able to do in erlang.

How can i interchangeably convert from human readable formats to unix epoch timestamps and vice versa "at will", in my code. Such that if in my programs i store the timestamps as Unix Epochs, at the time of reading them, i can retrieve the human readable format automatically from the unix timestamp value or viceversa.

You can use this lib: https://github.com/selectel/tempo

tempo is a library for parsing and formatting dates in Erlang. It provides a clean and nice interface to libc's strptime and strftime functions, which are unfortunately missing from Erlang's standard library.

As well as tempo there's qdate:

https://github.com/choptastic/qdate

Would be interested to hear comparisons :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM