summaryrefslogtreecommitdiffstats
path: root/vendor/time/src/formatting/iso8601.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /vendor/time/src/formatting/iso8601.rs
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'vendor/time/src/formatting/iso8601.rs')
-rw-r--r--vendor/time/src/formatting/iso8601.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/vendor/time/src/formatting/iso8601.rs b/vendor/time/src/formatting/iso8601.rs
index 229a07ebc..29d443ef4 100644
--- a/vendor/time/src/formatting/iso8601.rs
+++ b/vendor/time/src/formatting/iso8601.rs
@@ -2,6 +2,7 @@
use std::io;
+use crate::convert::*;
use crate::format_description::well_known::iso8601::{
DateKind, EncodedConfig, OffsetPrecision, TimePrecision,
};
@@ -84,17 +85,17 @@ pub(super) fn format_time<const CONFIG: EncodedConfig>(
match Iso8601::<CONFIG>::TIME_PRECISION {
TimePrecision::Hour { decimal_digits } => {
let hours = (hours as f64)
- + (minutes as f64) / 60.
- + (seconds as f64) / 3_600.
- + (nanoseconds as f64) / 3_600. / 1_000_000_000.;
+ + (minutes as f64) / Minute.per(Hour) as f64
+ + (seconds as f64) / Second.per(Hour) as f64
+ + (nanoseconds as f64) / Nanosecond.per(Hour) as f64;
format_float(output, hours, 2, decimal_digits)?;
}
TimePrecision::Minute { decimal_digits } => {
bytes += format_number_pad_zero::<2>(output, hours)?;
bytes += write_if(output, Iso8601::<CONFIG>::USE_SEPARATORS, b":")?;
let minutes = (minutes as f64)
- + (seconds as f64) / 60.
- + (nanoseconds as f64) / 60. / 1_000_000_000.;
+ + (seconds as f64) / Second.per(Minute) as f64
+ + (nanoseconds as f64) / Nanosecond.per(Minute) as f64;
bytes += format_float(output, minutes, 2, decimal_digits)?;
}
TimePrecision::Second { decimal_digits } => {
@@ -102,7 +103,7 @@ pub(super) fn format_time<const CONFIG: EncodedConfig>(
bytes += write_if(output, Iso8601::<CONFIG>::USE_SEPARATORS, b":")?;
bytes += format_number_pad_zero::<2>(output, minutes)?;
bytes += write_if(output, Iso8601::<CONFIG>::USE_SEPARATORS, b":")?;
- let seconds = (seconds as f64) + (nanoseconds as f64) / 1_000_000_000.;
+ let seconds = (seconds as f64) + (nanoseconds as f64) / Nanosecond.per(Second) as f64;
bytes += format_float(output, seconds, 2, decimal_digits)?;
}
}