From a5f452a67a0efbb1faaacda023612eea6d63be22 Mon Sep 17 00:00:00 2001 From: Adam Lock Date: Fri, 28 Jul 2023 09:11:43 +0100 Subject: [PATCH] Remove some deprecation warnings, make the code easier to read --- lib/src/types/date_time.rs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/src/types/date_time.rs b/lib/src/types/date_time.rs index d4e82f35c..ba08ca3ca 100644 --- a/lib/src/types/date_time.rs +++ b/lib/src/types/date_time.rs @@ -12,7 +12,7 @@ use std::{ str::FromStr, }; -use chrono::{Datelike, Duration, SecondsFormat, TimeZone, Timelike, Utc}; +use chrono::{Duration, SecondsFormat, TimeZone, Timelike, Utc}; use serde::{de::Error, Deserialize, Deserializer, Serialize, Serializer}; use crate::types::encoding::*; @@ -153,16 +153,8 @@ impl From<(u16, u16, u16, u16, u16, u16, u32)> for DateTime { impl From for DateTime { fn from(date_time: DateTimeUtc) -> Self { // OPC UA date time is more granular with nanos, so the value supplied is made granular too - let year = date_time.year(); - let month = date_time.month(); - let day = date_time.day(); - let hour = date_time.hour(); - let minute = date_time.minute(); - let second = date_time.second(); let nanos = (date_time.nanosecond() / NANOS_PER_TICK as u32) * NANOS_PER_TICK as u32; - let date_time = Utc - .ymd(year, month, day) - .and_hms_nano(hour, minute, second, nanos); + let date_time = date_time.with_nanosecond(nanos).unwrap(); DateTime { date_time } } }