我无法理解为什么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作为参数的指示。你会如何使它工作?感谢。
答案 0 :(得分:1)
可以试试DateTime.parse("2013-07-04 1:00:00 UTC").to_time.utc
我得到了
irb(main):003:0>require 'date'
irb(main):005:0> DateTime.parse("2013-07-04 1:00:00 UTC").to_time.utc
=> 2013-07-04 01:00:00 UTC
由于