Converting a DateTime to unix convention using %s%L (%s means seconds since Jan 1st 1970, %L means to append 3 digits to represent milliseconds) give this:
DateTime.now.strftime '%s%L'
=> "1656279075654"
How can I get a DateTime back from this?
DateTime.strptime('1656279075654', '%s%L') gives an error, as strptime doesn't seem to know %L strangely.
CodePudding user response:
secs = '1656279075654'.to_f / 1000
DateTime.strptime(secs.to_s, '%s')
or
DateTime.strptime('1656279075654', '%Q')
(%Q - number of milliseconds since 1970-01-01 00:00:00 UTC)
