Path: blob/main/crates/polars-time/src/chunkedarray/string/patterns.rs
6940 views
//! Patterns are grouped together by order of month, day, year. This is to prevent1//! parsing different orders of dates in a single column.23pub(super) static DATE_D_M_Y: &[&str] = &[4"%d-%m-%Y", // 31-12-20215"%d/%m/%Y", // 31/12/20216"%d.%m.%Y", // 31.12.20217];89pub(super) static DATE_Y_M_D: &[&str] = &[10"%Y-%m-%d", // 2021-12-3111"%Y/%m/%d", // 2021/12/3112"%Y.%m.%d", // 2021.12.3113];1415/// NOTE: don't use single letter dates like %F16/// polars parsers does not support them, so it will be slower17pub(super) static DATETIME_D_M_Y: &[&str] = &[18"%d-%m-%YT%H:%M:%S.%9f",19"%d-%m-%YT%H:%M:%S.%6f",20"%d-%m-%YT%H:%M:%S.%3f",21"%d-%m-%YT%H:%M:%S",22"%d-%m-%YT%H%M%S.%9f",23"%d-%m-%YT%H%M%S.%6f",24"%d-%m-%YT%H%M%S.%3f",25"%d-%m-%YT%H%M%S",26"%d-%m-%YT%H:%M",27"%d-%m-%YT%H%M",28"%d-%m-%Y %H:%M:%S.%9f",29"%d-%m-%Y %H:%M:%S.%6f",30"%d-%m-%Y %H:%M:%S.%3f",31"%d-%m-%Y %H:%M:%S",32"%d-%m-%Y %H%M%S.%9f",33"%d-%m-%Y %H%M%S.%6f",34"%d-%m-%Y %H%M%S.%3f",35"%d-%m-%Y %H%M%S",36"%d-%m-%Y %H:%M",37"%d-%m-%Y %H%M",38"%d-%m-%Y",39"%d/%m/%YT%H:%M:%S.%9f",40"%d/%m/%YT%H:%M:%S.%6f",41"%d/%m/%YT%H:%M:%S.%3f",42"%d/%m/%YT%H:%M:%S",43"%d/%m/%YT%H%M%S.%9f",44"%d/%m/%YT%H%M%S.%6f",45"%d/%m/%YT%H%M%S.%3f",46"%d/%m/%YT%H%M%S",47"%d/%m/%YT%H:%M",48"%d/%m/%YT%H%M",49"%d/%m/%Y %H:%M:%S.%9f",50"%d/%m/%Y %H:%M:%S.%6f",51"%d/%m/%Y %H:%M:%S.%3f",52"%d/%m/%Y %H:%M:%S",53"%d/%m/%Y %H%M%S.%9f",54"%d/%m/%Y %H%M%S.%6f",55"%d/%m/%Y %H%M%S.%3f",56"%d/%m/%Y %H%M%S",57"%d/%m/%Y %H:%M",58"%d/%m/%Y %H%M",59"%d/%m/%Y",60"%d.%m.%YT%H:%M:%S.%9f",61"%d.%m.%YT%H:%M:%S.%6f",62"%d.%m.%YT%H:%M:%S.%3f",63"%d.%m.%YT%H:%M:%S",64"%d.%m.%YT%H%M%S.%9f",65"%d.%m.%YT%H%M%S.%6f",66"%d.%m.%YT%H%M%S.%3f",67"%d.%m.%YT%H%M%S",68"%d.%m.%YT%H:%M",69"%d.%m.%YT%H%M",70"%d.%m.%Y %H:%M:%S.%9f",71"%d.%m.%Y %H:%M:%S.%6f",72"%d.%m.%Y %H:%M:%S.%3f",73"%d.%m.%Y %H:%M:%S",74"%d.%m.%Y %H%M%S.%9f",75"%d.%m.%Y %H%M%S.%6f",76"%d.%m.%Y %H%M%S.%3f",77"%d.%m.%Y %H%M%S",78"%d.%m.%Y %H:%M",79"%d.%m.%Y %H%M",80"%d.%m.%Y",81];8283/// NOTE: don't use single letter dates like %F84/// polars parsers does not support them, so it will be slower85pub(super) static DATETIME_Y_M_D: &[&str] = &[86"%Y-%m-%dT%H:%M:%S.%9f",87"%Y-%m-%dT%H:%M:%S.%6f",88"%Y-%m-%dT%H:%M:%S.%3f",89"%Y-%m-%dT%H:%M:%S",90"%Y-%m-%dT%H%M%S.%9f",91"%Y-%m-%dT%H%M%S.%6f",92"%Y-%m-%dT%H%M%S.%3f",93"%Y-%m-%dT%H%M%S",94"%Y-%m-%dT%H:%M",95"%Y-%m-%dT%H%M",96"%Y-%m-%d %H:%M:%S.%9f",97"%Y-%m-%d %H:%M:%S.%6f",98"%Y-%m-%d %H:%M:%S.%3f",99"%Y-%m-%d %H:%M:%S",100"%Y-%m-%d %H%M%S.%9f",101"%Y-%m-%d %H%M%S.%6f",102"%Y-%m-%d %H%M%S.%3f",103"%Y-%m-%d %H%M%S",104"%Y-%m-%d %H:%M",105"%Y-%m-%d %H%M",106"%Y-%m-%d",107"%Y/%m/%dT%H:%M:%S.%9f",108"%Y/%m/%dT%H:%M:%S.%6f",109"%Y/%m/%dT%H:%M:%S.%3f",110"%Y/%m/%dT%H:%M:%S",111"%Y/%m/%dT%H%M%S.%9f",112"%Y/%m/%dT%H%M%S.%6f",113"%Y/%m/%dT%H%M%S.%3f",114"%Y/%m/%dT%H%M%S",115"%Y/%m/%dT%H:%M",116"%Y/%m/%dT%H%M",117"%Y/%m/%d %H:%M:%S.%9f",118"%Y/%m/%d %H:%M:%S.%6f",119"%Y/%m/%d %H:%M:%S.%3f",120"%Y/%m/%d %H:%M:%S",121"%Y/%m/%d %H%M%S.%9f",122"%Y/%m/%d %H%M%S.%6f",123"%Y/%m/%d %H%M%S.%3f",124"%Y/%m/%d %H%M%S",125"%Y/%m/%d %H:%M",126"%Y/%m/%d %H%M",127"%Y/%m/%d",128"%Y.%m.%dT%H:%M:%S.%9f",129"%Y.%m.%dT%H:%M:%S.%6f",130"%Y.%m.%dT%H:%M:%S.%3f",131"%Y.%m.%dT%H:%M:%S",132"%Y.%m.%dT%H%M%S.%9f",133"%Y.%m.%dT%H%M%S.%6f",134"%Y.%m.%dT%H%M%S.%3f",135"%Y.%m.%dT%H%M%S",136"%Y.%m.%dT%H:%M",137"%Y.%m.%dT%H%M",138"%Y.%m.%d %H:%M:%S.%9f",139"%Y.%m.%d %H:%M:%S.%6f",140"%Y.%m.%d %H:%M:%S.%3f",141"%Y.%m.%d %H:%M:%S",142"%Y.%m.%d %H%M%S.%9f",143"%Y.%m.%d %H%M%S.%6f",144"%Y.%m.%d %H%M%S.%3f",145"%Y.%m.%d %H%M%S",146"%Y.%m.%d %H:%M",147"%Y.%m.%d %H%M",148"%Y.%m.%d",149"%Y-%m-%dT%H:%M:%S%.f", // ISO 8601 with dynamic precision and without timezone150];151152pub(super) static DATETIME_Y_M_D_Z: &[&str] = &[153"%Y-%m-%dT%H:%M:%S.%9f%#z",154"%Y-%m-%dT%H:%M:%S.%6f%#z",155"%Y-%m-%dT%H:%M:%S.%3f%#z",156"%Y-%m-%dT%H:%M:%S%#z",157"%Y-%m-%dT%H%M%S.%9f%#z",158"%Y-%m-%dT%H%M%S.%6f%#z",159"%Y-%m-%dT%H%M%S.%3f%#z",160"%Y-%m-%dT%H%M%S%#z",161"%Y-%m-%dT%H:%M%#z",162"%Y-%m-%dT%H%M%#z",163"%Y-%m-%d %H:%M:%S.%9f%#z",164"%Y-%m-%d %H:%M:%S.%6f%#z",165"%Y-%m-%d %H:%M:%S.%3f%#z",166"%Y-%m-%d %H:%M:%S%#z",167"%Y-%m-%d %H%M%S.%9f%#z",168"%Y-%m-%d %H%M%S.%6f%#z",169"%Y-%m-%d %H%M%S.%3f%#z",170"%Y-%m-%d %H%M%S%#z",171"%Y-%m-%d %H:%M%#z",172"%Y-%m-%d %H%M%#z",173"%Y/%m/%dT%H:%M:%S.%9f%#z",174"%Y/%m/%dT%H:%M:%S.%6f%#z",175"%Y/%m/%dT%H:%M:%S.%3f%#z",176"%Y/%m/%dT%H:%M:%S%#z",177"%Y/%m/%dT%H%M%S.%9f%#z",178"%Y/%m/%dT%H%M%S.%6f%#z",179"%Y/%m/%dT%H%M%S.%3f%#z",180"%Y/%m/%dT%H%M%S%#z",181"%Y/%m/%dT%H:%M%#z",182"%Y/%m/%dT%H%M%#z",183"%Y/%m/%d %H:%M:%S.%9f%#z",184"%Y/%m/%d %H:%M:%S.%6f%#z",185"%Y/%m/%d %H:%M:%S.%3f%#z",186"%Y/%m/%d %H:%M:%S%#z",187"%Y/%m/%d %H%M%S.%9f%#z",188"%Y/%m/%d %H%M%S.%6f%#z",189"%Y/%m/%d %H%M%S.%3f%#z",190"%Y/%m/%d %H%M%S%#z",191"%Y/%m/%d %H:%M%#z",192"%Y/%m/%d %H%M%#z",193"%Y.%m.%dT%H:%M:%S.%9f%#z",194"%Y.%m.%dT%H:%M:%S.%6f%#z",195"%Y.%m.%dT%H:%M:%S.%3f%#z",196"%Y.%m.%dT%H:%M:%S%#z",197"%Y.%m.%dT%H%M%S.%9f%#z",198"%Y.%m.%dT%H%M%S.%6f%#z",199"%Y.%m.%dT%H%M%S.%3f%#z",200"%Y.%m.%dT%H%M%S%#z",201"%Y.%m.%dT%H:%M%#z",202"%Y.%m.%dT%H%M%#z",203"%Y.%m.%d %H:%M:%S.%9f%#z",204"%Y.%m.%d %H:%M:%S.%6f%#z",205"%Y.%m.%d %H:%M:%S.%3f%#z",206"%Y.%m.%d %H:%M:%S%#z",207"%Y.%m.%d %H%M%S.%9f%#z",208"%Y.%m.%d %H%M%S.%6f%#z",209"%Y.%m.%d %H%M%S.%3f%#z",210"%Y.%m.%d %H%M%S%#z",211"%Y.%m.%d %H:%M%#z",212"%Y.%m.%d %H%M%#z",213"%+", // ISO 8601; Same as %Y-%m-%dT%H:%M:%S%.f%:z; supports Z or UTC214];215216pub(super) static TIME_H_M_S: &[&str] = &["%T%.9f", "%T%.6f", "%T%.3f", "%T", "%R"];217218#[derive(Eq, Hash, PartialEq, Clone, Copy, Debug)]219pub enum Pattern {220DateDMY,221DateYMD,222DatetimeYMD,223DatetimeDMY,224DatetimeYMDZ,225Time,226}227228229