Fix calendar EST offset

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-02-26 18:55:15 +00:00
parent a84daea61c
commit 3006264af1
3 changed files with 12 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
use crate::{ use crate::{
config::ALPACA_API_URL, config::ALPACA_API_URL,
types::{self, alpaca::api::outgoing}, types::{self, alpaca::api::outgoing},
utils::de, utils::{de, time::EST_OFFSET},
}; };
use backoff::{future::retry_notify, ExponentialBackoff}; use backoff::{future::retry_notify, ExponentialBackoff};
use governor::DefaultDirectRateLimiter; use governor::DefaultDirectRateLimiter;
@@ -25,8 +25,8 @@ impl From<Calendar> for types::Calendar {
fn from(calendar: Calendar) -> Self { fn from(calendar: Calendar) -> Self {
Self { Self {
date: calendar.date, date: calendar.date,
open: OffsetDateTime::new_utc(calendar.date, calendar.open), open: OffsetDateTime::new_in_offset(calendar.date, calendar.open, *EST_OFFSET),
close: OffsetDateTime::new_utc(calendar.date, calendar.close), close: OffsetDateTime::new_in_offset(calendar.date, calendar.close, *EST_OFFSET),
} }
} }
} }

View File

@@ -24,7 +24,7 @@ impl Default for Calendar {
fn default() -> Self { fn default() -> Self {
Self { Self {
start: OffsetDateTime::UNIX_EPOCH, start: OffsetDateTime::UNIX_EPOCH,
end: OffsetDateTime::from_unix_timestamp(MAX_TIMESTAMP).unwrap(), end: *MAX_TIMESTAMP,
date_type: DateType::Trading, date_type: DateType::Trading,
} }
} }

View File

@@ -1,10 +1,16 @@
use lazy_static::lazy_static;
use std::time::Duration; use std::time::Duration;
use time::OffsetDateTime; use time::{OffsetDateTime, UtcOffset};
pub const ONE_SECOND: Duration = Duration::from_secs(1); pub const ONE_SECOND: Duration = Duration::from_secs(1);
pub const ONE_MINUTE: Duration = Duration::from_secs(60); pub const ONE_MINUTE: Duration = Duration::from_secs(60);
pub const FIFTEEN_MINUTES: Duration = Duration::from_secs(60 * 15); pub const FIFTEEN_MINUTES: Duration = Duration::from_secs(60 * 15);
pub const MAX_TIMESTAMP: i64 = 253_402_300_799;
lazy_static! {
pub static ref MAX_TIMESTAMP: OffsetDateTime =
OffsetDateTime::from_unix_timestamp(253_402_300_799).unwrap();
pub static ref EST_OFFSET: UtcOffset = UtcOffset::from_hms(-5, 0, 0).unwrap();
}
pub fn last_minute() -> OffsetDateTime { pub fn last_minute() -> OffsetDateTime {
let now_timestamp = OffsetDateTime::now_utc().unix_timestamp(); let now_timestamp = OffsetDateTime::now_utc().unix_timestamp();