将字符串转换为DateTime Ruby
问题描述:
我从json响应中提取了一个字符串"2015-11-01T10:00:00.00+08:00"
。 如何将它转换为Time或DateTime?将字符串转换为DateTime Ruby
我试过Time.new("2015-11-01T10:00:00.00+08:00")
其返回2015-01-01 00:00:00 +0530
,显然日期在这里和这个时间也改变了。
答
require 'date'
▶ Date.parse "2015-11-01T10:00:00.00+08:00"
#⇒ #<Date: 2015-11-01 ((2457328j,0s,0n),+0s,2299161j)>
▶ DateTime.parse "2015-11-01T10:00:00.00+08:00"
#⇒ #<DateTime: 2015-11-01T10:00:00+08:00 ((2457328j,7200s,0n),+28800s,2299161j)>
答
如果它在轨道,只是做
"2015-11-01T10:00:00.00+08:00".to_time
曾在铁轨控制台。
如果只是普通的红宝石,去@ mudasobwa的解决方案
答
使用Rails,根据您的需求,我们建议使用:
Time.zone.parse("2015-11-01T10:00:00.00+08:00")
#=> Sun, 01 Nov 2015 02:00:00 UTC +00:00
VS
Time.parse("2015-11-01T10:00:00.00+08:00")
#=> 2015-11-01 10:00:00 +0800
Time.zone.parse
将返回在您的时区中表示的日期时间。
感谢兄弟,Time.parse为我工作。 – Imran
你不需要先使用'require'date''? –
@LukasBaliak最有可能的,更新,thx。 – mudasobwa