pub struct DurationFlex { /* private fields */ }Expand description
Type to conveniently specify durations and interoperate with chrono::Duration.
The correct way of building this, is through one of the from methods.
With the clap feature, can be used with [clap]:
use clap::Args;
use duration_flex::DurationFlex;
#[derive(Args)]
pub struct Arguments {
#[arg(long, default_value_t = Arguments::default().duration)]
duration: DurationFlex,
}
impl Default for Arguments {
fn default() -> Self {
Self { duration: DurationFlex::try_from("1w6d23h49m59s").unwrap() }
}
}Implementations§
Source§impl DurationFlex
impl DurationFlex
Sourcepub const ZERO: DurationFlex
pub const ZERO: DurationFlex
A duration of zero seconds.
Sourcepub const fn new(secs: i64, nanos: i32) -> Self
pub const fn new(secs: i64, nanos: i32) -> Self
Creates a new DurationFlex from seconds and nanoseconds.
Sourcepub const fn from_secs(secs: i64) -> Self
pub const fn from_secs(secs: i64) -> Self
Creates a new DurationFlex from a whole number of seconds.
Sourcepub const fn from_millis(millis: i64) -> Self
pub const fn from_millis(millis: i64) -> Self
Creates a new DurationFlex from a whole number of milliseconds.
Sourcepub const fn from_minutes(minutes: i64) -> Self
pub const fn from_minutes(minutes: i64) -> Self
Creates a new DurationFlex from a whole number of minutes.
Sourcepub const fn from_hours(hours: i64) -> Self
pub const fn from_hours(hours: i64) -> Self
Creates a new DurationFlex from a whole number of hours.
Sourcepub const fn from_days(days: i64) -> Self
pub const fn from_days(days: i64) -> Self
Creates a new DurationFlex from a whole number of days.
Sourcepub const fn from_weeks(weeks: i64) -> Self
pub const fn from_weeks(weeks: i64) -> Self
Creates a new DurationFlex from a whole number of weeks.
Sourcepub const fn from_years(years: i64) -> Self
pub const fn from_years(years: i64) -> Self
Creates a new DurationFlex from a whole number of years (365 days each).
Sourcepub const fn is_positive(&self) -> bool
pub const fn is_positive(&self) -> bool
Returns true if the duration is positive (> 0).
Sourcepub const fn is_negative(&self) -> bool
pub const fn is_negative(&self) -> bool
Returns true if the duration is negative (< 0).
Sourcepub fn to_std(&self) -> Option<Duration>
pub fn to_std(&self) -> Option<Duration>
Converts this duration into a std::time::Duration if non-negative.
Sourcepub fn to_chrono(&self) -> Duration
pub fn to_chrono(&self) -> Duration
Converts this duration into a chrono::Duration.
Trait Implementations§
Source§impl Add for DurationFlex
impl Add for DurationFlex
Source§type Output = DurationFlex
type Output = DurationFlex
+ operator.Source§impl Add<TimeDelta> for DurationFlex
impl Add<TimeDelta> for DurationFlex
Source§impl Clone for DurationFlex
impl Clone for DurationFlex
Source§fn clone(&self) -> DurationFlex
fn clone(&self) -> DurationFlex
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DurationFlex
Source§impl Debug for DurationFlex
impl Debug for DurationFlex
Source§impl Default for DurationFlex
impl Default for DurationFlex
Source§fn default() -> DurationFlex
fn default() -> DurationFlex
Source§impl Display for DurationFlex
impl Display for DurationFlex
Source§impl Div<i64> for DurationFlex
impl Div<i64> for DurationFlex
Source§impl Div<u32> for DurationFlex
impl Div<u32> for DurationFlex
impl Eq for DurationFlex
Source§impl From<Duration> for DurationFlex
impl From<Duration> for DurationFlex
Source§impl From<DurationFlex> for Duration
impl From<DurationFlex> for Duration
Source§fn from(value: DurationFlex) -> Self
fn from(value: DurationFlex) -> Self
Source§impl From<DurationFlex> for Duration
impl From<DurationFlex> for Duration
Source§fn from(value: DurationFlex) -> Self
fn from(value: DurationFlex) -> Self
Source§impl From<String> for DurationFlex
impl From<String> for DurationFlex
Source§impl From<TimeDelta> for DurationFlex
impl From<TimeDelta> for DurationFlex
Source§impl FromStr for DurationFlex
impl FromStr for DurationFlex
Source§impl Hash for DurationFlex
impl Hash for DurationFlex
Source§impl Mul<i64> for DurationFlex
impl Mul<i64> for DurationFlex
Source§impl Mul<u32> for DurationFlex
impl Mul<u32> for DurationFlex
Source§impl Ord for DurationFlex
impl Ord for DurationFlex
Source§fn cmp(&self, other: &DurationFlex) -> Ordering
fn cmp(&self, other: &DurationFlex) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for DurationFlex
impl PartialEq for DurationFlex
Source§impl PartialOrd for DurationFlex
impl PartialOrd for DurationFlex
impl StructuralPartialEq for DurationFlex
Source§impl Sub for DurationFlex
impl Sub for DurationFlex
Source§type Output = DurationFlex
type Output = DurationFlex
- operator.