如何将Rails DateTime对象转换为XML字符串?

时间:2010-11-11 00:50:47

标签: ruby-on-rails xml datetime

我在Rails中有一个DateTime对象,在调用时输出如下:

ruby-1.8.7-p302 > Time.now
 => Wed Nov 10 16:46:51 -0800 2010 

如何转换DateObject以返回XML日期时间类型字符串,如下所示:

ruby-1.8.7-p302 > Time.now.convert_to_xml
 => 2010-11-10T16:46:51-08:00

4 个答案:

答案 0 :(得分:25)

XML格式的时间:

Time.now.xmlschema # implemented by Rails, not stock ruby
Time.now.strftime '%Y-%m-%dT%H:%M:%S%z'

http://corelib.rubyonrails.org/classes/Time.html#M000281

要解析(Ruby 1.9及更高版本):

t = Time.now.xmlschema(str)

http://ruby-doc.org/core-1.9/classes/Time.html#M000329

答案 1 :(得分:5)

尝试Time.now.iso8601

答案 2 :(得分:1)

这是一种纯粹的Ruby方式:

Time.now.strftime("%Y-%m-%dT%H:%M:%S%z")

您可以通过以下方式获取有关各种strftime选项的更多详细信息:

ri Time.strftime

答案 3 :(得分:0)

使用strftime方法

Time.now.strftime("your format string")