} else { // Date, DateTime
int prec = width - 3;
IRubyObject power = context.runtime.newFixnum(10).callMethod("**", context.runtime.newFixnum(prec));
IRubyObject truncated = sub_millis.callMethod(context, "numerator").callMethod(context, "*", power);
truncated = truncated.callMethod(context, "/", sub_millis.callMethod(context, "denominator"));
long decimals = truncated.convertToInteger().getLongValue();
output += RubyTimeOutputFormatter.formatNumber(decimals, prec, '0');
}
}
if (width < output.length()) {