繁体   English   中英

如何在 ruby-on-rails 中将 13 个字符长度的字符串转换为日期时间格式

[英]How can I convert 13 character length string to datetime format in ruby-on-rails

我在 xml 文件中导入了一些短信; 有一个“日期”字段,其中日期表示为 13 位数字,但它是一个字符串,我将它们导入到字符串列中,但我不知道如何显示、查询或操作日期

这种字符串的例子

msg['date']
# => "1616508915508"

看起来主要问题是您的字符串采用毫秒 Unix 时间格式

您可以将其转换为秒数,然后根据需要进行操作

msg["date"] = "1616508915508"
seconds = msg["date"].to_f / 1000 # => 1616508915.508

转换为时间

time = Time.at(seconds, in: "UTC") # => 2021-03-23 14:15:15 1065353/2097152 UTC

(您可以省略:in选项以获取当前时区的时间,或指定其他时区)

转换为日期时间

time.to_datetime # => Tue, 23 Mar 2021 14:15:15 +0000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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