diff --git a/server/src/main.rs b/server/src/main.rs index adb0279e8..d3d54b05c 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -138,10 +138,10 @@ fn startup_sync() { }; let last_modified = FileTime::from_last_modification_time(&metadata); - let last_modified = NaiveDateTime::from_timestamp(last_modified.unix_seconds(), 0); - let last_modified: DateTime = DateTime::from_utc(last_modified, Utc); + let last_modified = NaiveDateTime::from_timestamp_opt(last_modified.unix_seconds(), 0); + let last_modified: DateTime = DateTime::from_utc(last_modified.unwrap(), Utc); - let uri = utils::date_to_prefix(last_modified.date()) + let uri = utils::date_to_prefix(last_modified.date_naive()) + &utils::hour_to_prefix(last_modified.hour()) + &utils::minute_to_prefix( last_modified.minute(), diff --git a/server/src/storage.rs b/server/src/storage.rs index 027bc38d6..157709a62 100644 --- a/server/src/storage.rs +++ b/server/src/storage.rs @@ -312,7 +312,7 @@ impl StorageSync { fn move_local_to_temp(&self) -> io::Result<()> { let time = self.time - Duration::minutes(OBJECT_STORE_DATA_GRANULARITY as i64); - let uri = utils::date_to_prefix(time.date()) + let uri = utils::date_to_prefix(time.date_naive()) + &utils::hour_to_prefix(time.hour()) + &utils::minute_to_prefix(time.minute(), OBJECT_STORE_DATA_GRANULARITY).unwrap(); let local_uri = str::replace(&uri, "/", "."); diff --git a/server/src/utils.rs b/server/src/utils.rs index ecaa87003..e2618e817 100644 --- a/server/src/utils.rs +++ b/server/src/utils.rs @@ -17,7 +17,7 @@ */ use actix_web::web; -use chrono::{Date, DateTime, Timelike, Utc}; +use chrono::{DateTime, NaiveDate, Timelike, Utc}; use serde_json::{json, Value}; use std::collections::HashMap; @@ -209,7 +209,7 @@ pub fn minute_to_slot(minute: u32, data_granularity: u32) -> Option { Some(format!("{:02}-{:02}", block_start, block_end)) } -pub fn date_to_prefix(date: Date) -> String { +pub fn date_to_prefix(date: NaiveDate) -> String { let date = format!("date={}/", date); date.replace("UTC", "") } @@ -247,8 +247,8 @@ impl TimePeriod { self.generate_date_prefixes( &prefix, - self.start.date(), - self.end.date(), + self.start.date_naive(), + self.end.date_naive(), (self.start.hour(), self.start.minute()), (self.end.hour(), end_minute), ) @@ -341,8 +341,8 @@ impl TimePeriod { pub fn generate_date_prefixes( &self, prefix: &str, - start_date: Date, - end_date: Date, + start_date: NaiveDate, + end_date: NaiveDate, start_time: (u32, u32), end_time: (u32, u32), ) -> Vec {