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

Cha*_*ory 7 xml datetime ruby-on-rails

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

ruby-1.8.7-p302 > Time.now
 => Wed Nov 10 16:46:51 -0800 2010 
Run Code Online (Sandbox Code Playgroud)

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

ruby-1.8.7-p302 > Time.now.convert_to_xml
 => 2010-11-10T16:46:51-08:00
Run Code Online (Sandbox Code Playgroud)

Fáb*_*sta 25

时间到XML格式:

Time.now.xmlschema # implemented by Rails, not stock ruby
Time.now.strftime '%Y-%m-%dT%H:%M:%S%z'
Run Code Online (Sandbox Code Playgroud)

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

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

t = Time.now.xmlschema(str)
Run Code Online (Sandbox Code Playgroud)

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

  • Rails版本不正确.XML规范是xs:dateTime,必须是UTC,没有时区信息.`加载开发环境(Rails 3.2.3)1.9.3-p125:001> Time.now.xmlschema =>"2013-05-11T00:44:23 + 02:00"`"xs:dateTime,内置于到W3C XML Schema数据类型规范[Schema2],并且必须以UTC格式表示,没有时区组件." (2认同)

Wil*_*iam 5

尝试 Time.now.iso8601