-1

Rubyでバグを見つけたようですが、よくわからないのでここに投稿します。

ページに表示されている最後のオブジェクトのタイムスタンプである、指定されたタイムスタンプの後に最新のオブジェクトをフェッチするRailsアプリがあります。

しかし、何らかの理由で、常に最後に複製されたオブジェクトが返されていました。しばらくして、エポックに変換することにしましたが、うまくいきませんでした。

問題がどこにあるかを見つけようとした後、私は与えられたコードを思いついた:

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 に答える