Add DateTime#subsec
Mirrors the Time#subsec method by returning the fraction of the second as a Rational.
This commit is contained in:
parent
88d844b278
commit
a424bbb242
@ -1,3 +1,7 @@
|
||||
* Add `DateTime#subsec` to return the fraction of a second as a `Rational`.
|
||||
|
||||
*Andrew White*
|
||||
|
||||
* Add additional aliases for `DateTime#utc` to mirror the ones on
|
||||
`ActiveSupport::TimeWithZone` and `Time`.
|
||||
|
||||
|
@ -28,6 +28,13 @@ def seconds_until_end_of_day
|
||||
end_of_day.to_i - to_i
|
||||
end
|
||||
|
||||
# Returns the fraction of a second as a +Rational+
|
||||
#
|
||||
# DateTime.new(2012, 8, 29, 0, 0, 0.5).subsec # => (1/2)
|
||||
def subsec
|
||||
sec_fraction
|
||||
end
|
||||
|
||||
# Returns a new DateTime where one or more of the elements have been changed
|
||||
# according to the +options+ parameter. The time options (<tt>:hour</tt>,
|
||||
# <tt>:min</tt>, <tt>:sec</tt>) reset cascadingly, so if only the hour is
|
||||
|
@ -400,4 +400,9 @@ def test_nsec
|
||||
assert_equal 0, DateTime.civil(2000).nsec
|
||||
assert_equal 500000000, DateTime.civil(2000, 1, 1, 0, 0, Rational(1,2)).nsec
|
||||
end
|
||||
|
||||
def test_subsec
|
||||
assert_equal 0, DateTime.civil(2000).subsec
|
||||
assert_equal Rational(1,2), DateTime.civil(2000, 1, 1, 0, 0, Rational(1,2)).subsec
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user