首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby中将UTC时间戳转换为ISO 8601

在Ruby中将UTC时间戳转换为ISO 8601
EN

Stack Overflow用户
提问于 2010-10-30 10:39:45
回答 2查看 65K关注 0票数 89

我有一个UTC格式的时间戳

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

我需要将其转换为ISO 8601

"2010-10-29 06:09Z“

文档就像地狱一样令人困惑--最简单的方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2013-08-21 22:36:01

经过多次实验,我发现时间库的解析器比DateTime更好,尽管目前我不知道原因是什么。尽管如此,我总是使用时间而不是DateTime来处理这类事情,ruby文档也很难理解为什么会这样。

代码语言:javascript
复制
require 'time'
puts Time.parse("2010-10-25 23:48:46 UTC").iso8601
"2010-10-25T23:48:46Z"
票数 22
EN

Stack Overflow用户

发布于 2011-12-05 10:40:07

注意:必须先将时间字符串转换(解析)为时间对象,然后才能应用to_time方法。

代码语言:javascript
复制
ruby-1.9.2-p180 :016 > "2010-10-25 23:48:46 UTC".to_time.iso8601
NoMethodError: undefined method `to_time' for "2010-10-25 23:48:46 UTC":String
    from (irb):16

正确的步骤:

代码语言:javascript
复制
irb> ut = DateTime.parse("2010-10-25 23:48:46 UTC")

irb> ut.iso8601
 => "2010-10-25T23:48:46+00:00" 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4057015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档