我有一个日期字符串20101129220021,所以我将使用

require 'date'
d = DateTime.parse('20101129220021')

这部分工作正常,我得到了一个以UTC为单位的日期。

我的问题是,如何将其转换为本地时间?我尝试了许多方法,例如使用d.to_time提取时间部分并操纵结果,但没有用。据我所知,DateTime对象是不可变的。我可以帮忙吗?

最佳答案

您可以基于时区添加有理分数以获取本地时间。

require 'date'

# Make this whatever your zone is. Using UTC +0300 here.
ZONE = 3

d = DateTime.parse('20101129220021') + Rational(ZONE,24)

d.to_s # => "2010-11-30T01:00:21+00:00"

关于Ruby DateTime.Parse到本地时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5921165/

10-14 15:50
查看更多