-1

我似乎在 Ruby 中发现了一个错误,但我不确定,所以我将其发布在这里。

我有一个 Rails 应用程序,它在给定时间戳之后获取最新对象,这是页面上显示的最后一个对象的时间戳。

但由于某种原因,它总是返回最后一个重复的对象。一段时间后,我们决定将其转换为 epoch,但它不起作用。

在试图找到问题可能出在哪里之后,我想出了给定的代码:

require 'date'
DateTime.strptime("1358895408.915", "%s").strftime("%s")
# => "1358895408"

这不应该工作吗?我错过了什么吗?如何安全地解析时间并保持毫秒不变?

4

1 回答 1

2

(根据 Andrew Marshall 的建议编辑)

使用Time.at. 这将保留毫秒。它需要一个数字而不是一个字符串。

Time.at(BigDecimal.new('1358895408.915'))
.strftime("%s.%L")
# => "1358895408.915"
于 2013-01-23T01:42:22.463 回答