ruby-changes:11731
From: tadf <ko1@a...>
Date: Sat, 9 May 2009 19:28:55 +0900 (JST)
Subject: [ruby-changes:11731] Ruby:r23377 (trunk): * lib/date.rb: use subsec instead of nsec.
tadf 2009-05-09 19:28:37 +0900 (Sat, 09 May 2009) New Revision: 23377 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23377 Log: * lib/date.rb: use subsec instead of nsec. Modified files: trunk/ChangeLog trunk/lib/date.rb trunk/test/date/test_date_conv.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 23376) +++ ChangeLog (revision 23377) @@ -1,3 +1,7 @@ +Sat May 9 19:23:46 2009 Tadayoshi Funaba <tadf@d...> + + * lib/date.rb: use subsec instead of nsec. + Sat May 9 12:19:49 2009 Nobuyoshi Nakada <nobu@r...> * hash.c: 3rd arguemnt of rb_hash_foreach() is VALUE. Index: lib/date.rb =================================================================== --- lib/date.rb (revision 23376) +++ lib/date.rb (revision 23377) @@ -1775,7 +1775,7 @@ def to_datetime jd = DateTime.__send__(:civil_to_jd, year, mon, mday, DateTime::ITALY) fr = DateTime.__send__(:time_to_day_fraction, hour, min, [sec, 59].min) + - Rational(nsec, 86400_000_000_000) + Rational(subsec, 86400) of = Rational(utc_offset, 86400) DateTime.new!(DateTime.__send__(:jd_to_ajd, jd, fr, of), of, DateTime::ITALY) @@ -1805,7 +1805,7 @@ t = Time.now jd = civil_to_jd(t.year, t.mon, t.mday, sg) fr = time_to_day_fraction(t.hour, t.min, [t.sec, 59].min) + - Rational(t.nsec, 86400_000_000_000) + Rational(t.subsec, 86400) of = Rational(t.utc_offset, 86400) new!(jd_to_ajd(jd, fr, of), of, sg) end Index: test/date/test_date_conv.rb =================================================================== --- test/date/test_date_conv.rb (revision 23376) +++ test/date/test_date_conv.rb (revision 23377) @@ -49,6 +49,13 @@ assert_equal([2004, 9, 19, 1, 2, 3, 456789123], [t.year, t.mon, t.mday, t.hour, t.min, t.sec, t.nsec]) end + + if Time.allocate.respond_to?(:subsec) + d = DateTime.new(2004, 9, 19, 1, 2, 3, 0) + 456789123456789123.to_r/86400000000000000000000 + t = d.to_time.utc + assert_equal([2004, 9, 19, 1, 2, 3, Rational(456789123456789123,1000000000000000000)], + [t.year, t.mon, t.mday, t.hour, t.min, t.sec, t.subsec]) + end end def test_to_date__from_time -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/