【发布时间】:2011-04-03 08:40:20
【问题描述】:
我正在使用 Time in Rails 并使用以下代码设置项目的开始日期和结束日期:
start_date ||= Time.now
end_date = start_date + goal_months.months
然后我克隆对象并编写 rspec 测试以确认副本中的属性匹配。 结束日期匹配:
original[end_date]: 2011-08-24 18:24:53 UTC
clone[end_date]: 2011-08-24 18:24:53 UTC
但是规范在开始日期上给了我一个错误:
expected: Wed Aug 24 18:24:53 UTC 2011,
got: Wed, 24 Aug 2011 18:24:53 UTC +00:00 (using ==)
很明显,日期是相同的,只是格式不同。它们最终如何以不同的方式存储在数据库中,我如何让它们匹配?我也用 DateTime 进行了尝试,结果相同。
更正:结束日期也不匹配。它们打印出相同的内容,但也会出现 rspec 错误。当我打印出开始日期和结束日期时,值以不同的格式出现:
start date: 2010-08-24T19:00:24+00:00
end date: 2011-08-24 19:00:24 UTC
【问题讨论】:
标签: ruby-on-rails time rspec