我有一个日期字符串20101129220021,所以我会用
require 'date'
d = DateTime.parse('20101129220021')
Run Code Online (Sandbox Code Playgroud)
这部分工作正常,我得到一个日期,它是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"
Run Code Online (Sandbox Code Playgroud)