summaryrefslogtreecommitdiff
path: root/lib/time.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/time.rb')
-rw-r--r--lib/time.rb4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/time.rb b/lib/time.rb
index 8a4d1ab2a8..da5bec9ff3 100644
--- a/lib/time.rb
+++ b/lib/time.rb
@@ -502,10 +502,8 @@ class Time
year, mon, day, hour, min, sec) +
if fraction_digits == 0
''
- elsif fraction_digits <= 9
- '.' + sprintf('%09d', nsec)[0, fraction_digits]
else
- '.' + sprintf('%09d', nsec) + '0' * (fraction_digits - 9)
+ '.' + sprintf('%0*d', fraction_digits, (subsec * 10**fraction_digits).floor)
end +
if utc?
'Z'