[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]