ROR + Ruby Date来自XML API

时间:2011-06-01 05:57:34

标签: ruby xml ruby-on-rails-3 datetime

通过使用XML API,我将日期时间设为"2008-02-05T12:50:00Z"。现在我想将这种文本格式转换为不同的格式,如"2008-02-05 12:50:00"。但我得到了正确的方法。

我试过这个:: @a = "2008-02-05T12:50:00Z"

步骤

1. @a.to_date

 => Tue, 05 Feb 2008 
2. @a.to_date.strftime('%Y')

 => "2008" 
3. @a.to_date.strftime('%Y-%m-%d %H:%M:%S')

 => "2008-02-05 00:00:00

建议一些事情?

2 个答案:

答案 0 :(得分:3)

to_date方法将字符串转换为日期,但日期没有小时,分钟或秒。您想使用DateTime

require 'date'
d = DateTime.parse('2008-02-05T12:50:00Z')
d.strftime('%Y-%m-%d %H:%M:%S')
# 2008-02-05 12:50:00

答案 1 :(得分:2)

使用Ruby的DateTime:

DateTime.parse("2008-02-05T12:50:00Z") #=> #<DateTime: 2008-02-05T12:50:00+00:00 (353448293/144,0/1,2299161)>

从那里,您可以使用strftime以任何格式输出值。有关详细信息,请参阅Time#strftime