diff --git a/rust/src/lockfile.rs b/rust/src/lockfile.rs index bf8d29a7d9..937f209915 100644 --- a/rust/src/lockfile.rs +++ b/rust/src/lockfile.rs @@ -300,16 +300,20 @@ pub(crate) fn lockfile_read(filenames: &Vec) -> CxxResult chrono::DateTime { + DateTime::from_naive_utc_and_offset( + Utc::now().date_naive().and_time(Default::default()), + chrono::Utc, + ) +} + pub(crate) fn lockfile_write( filename: &str, mut packages: Pin<&mut crate::ffi::CxxGObjectArray>, mut rpmmd_repos: Pin<&mut crate::ffi::CxxGObjectArray>, ) -> CxxResult<()> { - // get current time, but scrub nanoseconds; it's overkill to serialize that - let now = DateTime::from_utc( - Utc::now().date_naive().and_time(Default::default()), - chrono::Utc, - ); + let now = coarse_utc_timestamp_now(); let mut lockfile = LockfileConfig { packages: Some(BTreeMap::new()), @@ -380,3 +384,11 @@ pub(crate) fn lockfile_write( })?; Ok(()) } + +#[test] +fn test_coarse_now() { + let now = Utc::now(); + let now_coarse = coarse_utc_timestamp_now(); + assert_eq!(now_coarse.format("%H:%M:%S").to_string(), "00:00:00"); + assert_eq!(now.date_naive(), now_coarse.date_naive()); +}