longport/quote/
utils.rs

1use longport_candlesticks::{
2    TRADE_SESSION_INTRADAY, TRADE_SESSION_OVERNIGHT, TRADE_SESSION_POST, TRADE_SESSION_PRE,
3    TradeSessionType,
4};
5use time::Date;
6
7use crate::quote::TradeSession;
8
9#[inline]
10pub(crate) fn parse_date(date: &str) -> Result<Date, time::error::Parse> {
11    Date::parse(
12        date,
13        time::macros::format_description!("[year][month][day]"),
14    )
15}
16
17pub(crate) fn format_date(date: Date) -> String {
18    date.format(time::macros::format_description!("[year][month][day]"))
19        .unwrap()
20}
21
22pub(crate) fn convert_trade_session(ts: TradeSession) -> TradeSessionType {
23    match ts {
24        TradeSession::Intraday => TRADE_SESSION_INTRADAY,
25        TradeSession::Pre => TRADE_SESSION_PRE,
26        TradeSession::Post => TRADE_SESSION_POST,
27        TradeSession::Overnight => TRADE_SESSION_OVERNIGHT,
28    }
29}