Kullanarak strftimesaniye sayısını alabilir ve kesirli milisaniyeleri (veya gerekirse daha küçük birimleri) ekleyebilirsiniz:
2.2.2 :001 > t = Time.new
=> 2015-06-02 12:16:56 -0700
2.2.2 :002 > t.strftime('%s%3N')
=> "1433272616888"
Bunun yuvarlanmadığını, ancak görebileceğiniz gibi to_fveya mikrosaniyelere çıktığınızda kesildiğini unutmayın :
2.2.2 :003 > t.to_f
=> 1433272616.888615
2.2.2 :004 > t.usec
=> 888615
ve to_f/ to_içözümünde aynı sorun var:
2.2.2 :009 > (t.to_f * 1000).to_i
=> 1433272616888
Eğer gerçekten milisaniye doğruluk umurumda eğer öyleyse, daha iyi bir bahis olabilir to_file round:
2.2.2 :010 > (t.to_f * 1000).round
=> 1433272616889
Bununla birlikte, belgelerde belirtildiği gibi , "IEEE 754 double, Epoch'tan bu yana geçen nanosaniye sayısını temsil edecek kadar doğru değildir", bu nedenle gerçekten umursuyorsanız, to_rbunun yerine şunu düşünün to_f:
2.2.2 :011 > (t.to_r * 1000).round
=> 1433272616889
- ancak sadece milisaniyeye yuvarlıyorsanız muhtemelen iyisinizdir.