我有一个UTC的时间戳

"2010-10-25 23:48:46 UTC"

我需要把它转换成ISO 8601

"2010-10-29 06:09Z"

文档非常混乱——最简单的方法是什么?

推荐答案

我想你是想骗我们.

问题的输入日期是25th of October, 2010,而输出日期是100 of October, 2010.打得好!

继续这个吹毛求疵的话题:你的时间也完全不同,你错过了输出时间的秒数.

现在是真正的答案.

不过首先要考虑一点:Ruby中的ISO8601输出类似于ISO 8601's Wikipedia page的"合并日期和时间"输出.

你有一个字符串,所以你需要把它转换成一个Time对象,你可以用to_time.然后,只需在该对象上调用iso8601即可获得ISO 8601版本:

"2010-10-25 23:48:46 UTC".to_time.iso8601

to_time方法由Rails提供,而iso8601方法由Ruby的标准库提供.

Ruby-on-rails相关问答推荐

方法和括号之间没有空格时出错

在 POST 请求中添加了 Rails 奇怪的参数

如何保持 en.yml DRY?

ViewModel 和 Controller 有什么区别?

Factory Girl + Mongoid 在fixture 中嵌入文档

设计:手动加密密码并直接存储

twitter bootstrap下拉突然不起作用

jbuilder vs rails-api/active_model_serializers 用于 Rails 4 中的 JSON 处理

Rails 4 Form: has_many through: checkboxes

禁用 RVM 或使用没有 RVM 安装的 Ruby?

Phusion 乘客(适合傻瓜!)

Rails 文章助手 - a 或 an

Rails:从视图内渲染视图(不是部分视图)

在本地 Rails 开发环境中获取真实 IP 地址

将图标添加到 Rails 应用程序

Ruby on Rails 基本概念总结

Rails:每个环境的初始化程序?

rails路由中资源和资源之间的区别?

如何拆分长行的 Ruby

Rails:您已经激活了 rake 10.3.1,但您的 Gemfile 需要 rake 10.2.2 (Gem::LoadError)