Skip to content

Instantly share code, notes, and snippets.

@metaskills
Created October 12, 2010 00:43
Show Gist options
  • Save metaskills/621475 to your computer and use it in GitHub Desktop.
Save metaskills/621475 to your computer and use it in GitHub Desktop.
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%L") # => "123"
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%3N") # => "123" millisecond (3 digits)
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%6N") # => "123000" microsecond (6 digits)
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%9N") # => "123000000" nanosecond (9 digits)
Time.utc(1999, 12, 30, 23, 45, 00, 123000).to_f # => 946597500.123
Time.utc(1999, 12, 30, 23, 45, 00, 123000).usec # => 123000
require 'date'
require 'rational'
require 'active_support'
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%L") # => "L"
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%3N") # => "3N"
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%6N") # => "6N"
Time.utc(1999, 12, 30, 23, 45, 00, 123000).strftime("%9N") # => "9N"
Time.utc(1999, 12, 30, 23, 45, 00, 123000).to_f # => 946597500.123
Time.utc(1999, 12, 30, 23, 45, 00, 123000).usec # => 123000
msec = 123
sec = 20
rat = sec + Rational(msec*1000,1000000)
class DateTime
def usec
(sec_fraction * 60 * 60 * 24 * (10**6)).to_i
end
end
DateTime.civil(1999, 12, 30, 23, 45, 0) # => Thu, 30 Dec 1999 23:45:00 +0000
DateTime.civil(1999, 12, 30, 23, 45, 0).sec_fraction.to_f # => 0.0
DateTime.civil(1999, 12, 30, 23, 45, rat) # => Thu, 30 Dec 1999 23:45:20 +0000
DateTime.civil(1999, 12, 30, 23, 45, rat).sec_fraction.to_f # => 1.42361111111111e-06
DateTime.civil(1999, 12, 30, 23, 45, rat).usec # => 123000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment