【发布时间】:2013-08-13 17:39:28
【问题描述】:
我不明白为什么 Date.utc 会产生这种影响:
请注意日期不同:
1.9.3-p327 :009 > time = Date.parse("2013-07-04 15:39:45 -0700").to_time
=> 2013-07-04 00:00:00 +0300
和:
1.9.3-p327 :010 > time = Date.parse("2013-07-04 15:39:45 -0700").to_time.utc
=> 2013-07-03 21:00:00 UTC
更新: 即使我在日期字符串中提供 UTC,7 月 4 日仍会变为 3 日。
1.9.3-p327 :017 > time = Date.parse("2013-07-04 1:00:00 UTC").to_time.utc
=> 2013-07-03 21:00:00 UTC
1.9.3-p327 :018 > time = Date.parse("2013-07-04 21:00:00 UTC").to_time.utc
=> 2013-07-03 21:00:00 UTC
1.9.3-p327 :019 > time = Date.parse("2013-07-04 23:00:00 UTC").to_time.utc
=> 2013-07-03 21:00:00 UTC
我的猜测是这是因为 Date.parse 不接受有关 UTC 的指示作为参数。你会如何让它发挥作用?谢谢。
【问题讨论】:
-
你可以试试
DateTime.parse("2013-07-04 1:00:00 UTC").to_time -
DateTime.parse("2013-07-04 1:00:00 UTC").to_time => 2013-07-04 04:00:00 +0300
-
请看我的cmets
DateTime.parse("2013-07-04 1:00:00 UTC").to_time.utc -
就是答案,请补充:) Date 是解析日期,DateTime 也包括时间。这说明了。谢谢。
-
请接受我的帖子谢谢
标签: ruby-on-rails parsing date utc