summaryrefslogtreecommitdiff
path: root/lib/time.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/time.rb')
-rw-r--r--lib/time.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/time.rb b/lib/time.rb
index b306d0a452..49c07c6214 100644
--- a/lib/time.rb
+++ b/lib/time.rb
@@ -384,7 +384,9 @@ class Time
min = $5.to_i
sec = $6.to_i
usec = 0
- usec = $7.to_f * 1000000 if $7
+ if $7
+ usec = Rational(($7[1..-1] + '000000000')[0,9].to_i, 1000)
+ end
if $8
zone = $8
year, mon, day, hour, min, sec =
@@ -645,6 +647,8 @@ if __FILE__ == $0
t = Time.utc(1960, 12, 31, 23, 0, 0, 123456)
assert_equal("1960-12-31T23:00:00.123456Z", t.xmlschema(6))
end
+
+ assert_equal(249, Time.xmlschema("2008-06-05T23:49:23.000249+09:00").usec)
end
def test_completion