diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h index 51ef184f..397a2704 100644 --- a/include/fmt/chrono.h +++ b/include/fmt/chrono.h @@ -1038,7 +1038,7 @@ void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { const auto fractional = detail::abs(d) - std::chrono::duration_cast(d); - const auto& subseconds = + const auto subseconds = std::chrono::treat_as_floating_point< typename subsecond_precision::rep>::value ? fractional.count() @@ -1860,13 +1860,8 @@ struct chrono_formatter { out = std::copy(buf.begin(), buf.end(), out); } else { write(second(), 2); - if (precision >= 0) { - write_fractional_seconds( - out, std::chrono::duration(val), precision); - } else { - write_fractional_seconds( - out, std::chrono::duration(val)); - } + write_fractional_seconds( + out, std::chrono::duration(val), precision); } return; }