ruby-on-rails – 为什么这两个datetimes不同?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么这两个datetimes不同?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么时间不等于其解析的等价物?
current = Time.current
# Wed,16 Sep 2015 17:10:56 CEST +02:00
parsed = Time.zone.parse('16 Sep 2015 17:10:56')
# Wed,16 Sep 2015 17:10:56 CEST +02:00
current == parsed
# false <= What ?!
current.to_i == parsed.to_i
# true
Ticket.create(datetime: current)
# ...
Ticket.find_by_datetime(parsed)
# nil  <= Why ?!

我在Ruby on Rails应用程序中实际上遇到了麻烦,我试图根据已解析的datetime属性找到一条记录,如最后一行所示.

我真的不明白时区是相同的,时间是相同的到秒.这里发生了什么

此外,我应该如何继续寻找基于解析的datetime的记录?

解决方法

他们不应该是一样的:
current.to_f #=> 1442417032.6567826
parsed.to_f  #=> 1442417032.0

解析时,你会想念毫秒.

猜你在找的Ruby相关文章