Struct dtparse::Parser [−][src]
pub struct Parser { /* fields omitted */ }
Parser is responsible for doing the actual work of understanding a time string.
The root level parse
function is responsible for constructing a default Parser
and triggering its behavior.
Methods
impl Parser
[src]
impl Parser
pub fn new(info: ParserInfo) -> Self
[src]
pub fn new(info: ParserInfo) -> Self
Create a new Parser
instance using the provided ParserInfo
.
This method allows you to set up a parser to handle different names for days of the week, months, etc., enabling customization for different languages or extra values.
pub fn parse(
&mut self,
timestr: &str,
dayfirst: Option<bool>,
yearfirst: Option<bool>,
fuzzy: bool,
fuzzy_with_tokens: bool,
default: Option<&NaiveDateTime>,
ignoretz: bool,
tzinfos: &HashMap<String, i32>
) -> Result<(NaiveDateTime, Option<FixedOffset>, Option<Vec<String>>), ParseError>
[src]
pub fn parse(
&mut self,
timestr: &str,
dayfirst: Option<bool>,
yearfirst: Option<bool>,
fuzzy: bool,
fuzzy_with_tokens: bool,
default: Option<&NaiveDateTime>,
ignoretz: bool,
tzinfos: &HashMap<String, i32>
) -> Result<(NaiveDateTime, Option<FixedOffset>, Option<Vec<String>>), ParseError>
Main method to trigger parsing of a string using the previously-provided parser information. Returns a naive timestamp along with timezone and unused tokens if available.
dayfirst
and yearfirst
force parser behavior in the event of ambiguous
dates. Consider the following scenarios where we parse the string '01.02.03'
dayfirst=Some(true)
,yearfirst=None
: Results inFebruary 2, 2003
dayfirst=None
,yearfirst=Some(true)
: Results inFebruary 3, 2001
dayfirst=Some(true)
,yearfirst=Some(true)
: Results inMarch 2, 2001
fuzzy
enables fuzzy parsing mode, allowing the parser to skip tokens if
they are unrecognized. However, the unused tokens will not be returned
unless fuzzy_with_tokens
is set as true
.
default
is the timestamp used to infer missing values, and is midnight
of the current day by default. For example, when parsing the text '2003',
we will use the current month and day as a default value, leading to a
result of 'March 3, 2003' if the function was run using a default of
March 3rd.
ignoretz
forces the parser to ignore timezone information even if it
is recognized in the time string
tzinfos
is a map of timezone names to the offset seconds. For example,
the parser would ignore the 'EST' part of the string in '10 AM EST'
unless you added a tzinfos
map of {"EST": "14400"}
. Please note that
timezone name support (i.e. "EST", "BRST") is not available by default
at the moment, they must be added through tzinfos
at the moment in
order to be resolved.