Struct duration_human::DurationHuman
source · pub struct DurationHuman { /* private fields */ }Expand description
Define a Duration in human readable form
Examples
let duration = DurationHuman::try_from("80h").unwrap();
assert_eq!(format!("{:#}", duration), "3 day 8h".to_string());
assert_eq!(format!("{}", duration), "80h".to_string());
let duration = DurationHuman::try_from("72h").unwrap();
assert_eq!(format!("{:#}", duration), "3 day".to_string());
assert_eq!(format!("{}", duration), "3 day".to_string());
let duration = DurationHuman::try_from("18446744073709551615ns").unwrap();
assert_eq!(format!("{:#}", duration), "5 century 84 year 11 month 1 week 6 day 23h 34min 33s 709ms".to_string());
let duration = DurationHuman::try_from("18446744073709551615ms").unwrap();
assert_eq!(format!("{:#}", duration), "5849424 century 17 year 4 month 1 week 2 day 14h 25min 51s 615ms".to_string());
// precision is ms
let duration = DurationHuman::try_from("604800μs").unwrap();
assert_eq!(format!("{:#}", duration), "604ms".to_string());
assert_eq!(duration.to_string(), "604ms".to_string());
let duration = DurationHuman::try_from("604800ms").unwrap();
assert_eq!(format!("{:#}", duration), "10min 4s 800ms".to_string());
assert_eq!(duration.to_string(), "604800ms".to_string());
let duration = DurationHuman::try_from("604800s").unwrap();
assert_eq!(format!("{:#}", duration), "1 week".to_string());
let duration = DurationHuman::try_from("604800s").unwrap();
assert_eq!(format!("{:#}", duration), "1 week".to_string(),"A");
assert_eq!(format!("{}", duration), "1 week".to_string(),"B");
let duration = DurationHuman::try_from("608430s").unwrap();
assert_eq!(format!("{:#}", duration), "1 week 1h 30s".to_string());
assert_eq!(format!("{}", duration), "608430s".to_string(),"C");Implementations§
source§impl DurationHuman
impl DurationHuman
pub const ONE_SECOND: Self = _
pub const ONE_MILLISECOND: Self = _
pub const fn new(ms: u64) -> Self
pub fn is_in(&self, range: &DurationHumanValidator) -> bool
Trait Implementations§
source§impl Add<Instant> for DurationHuman
impl Add<Instant> for DurationHuman
source§impl Clone for DurationHuman
impl Clone for DurationHuman
source§fn clone(&self) -> DurationHuman
fn clone(&self) -> DurationHuman
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Default for DurationHuman
impl Default for DurationHuman
source§impl Display for DurationHuman
impl Display for DurationHuman
source§impl From<&DurationHuman> for Duration
impl From<&DurationHuman> for Duration
source§fn from(duration: &DurationHuman) -> Self
fn from(duration: &DurationHuman) -> Self
Converts to this type from the input type.
source§impl From<&DurationHuman> for u64
impl From<&DurationHuman> for u64
source§fn from(duration: &DurationHuman) -> Self
fn from(duration: &DurationHuman) -> Self
Converts to this type from the input type.
source§impl From<DurationHuman> for OsStr
impl From<DurationHuman> for OsStr
source§fn from(duration: DurationHuman) -> Self
fn from(duration: DurationHuman) -> Self
Converts to this type from the input type.
source§impl From<u64> for DurationHuman
impl From<u64> for DurationHuman
source§impl Parse for DurationHuman
impl Parse for DurationHuman
fn parse(input: ParseStream<'_>) -> Result<Self>
source§impl PartialEq<DurationHuman> for DurationHuman
impl PartialEq<DurationHuman> for DurationHuman
source§fn eq(&self, other: &DurationHuman) -> bool
fn eq(&self, other: &DurationHuman) -> bool
source§impl PartialOrd<DurationHuman> for DurationHuman
impl PartialOrd<DurationHuman> for DurationHuman
source§fn partial_cmp(&self, other: &DurationHuman) -> Option<Ordering>
fn partial_cmp(&self, other: &DurationHuman) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read moresource§impl TryFrom<&str> for DurationHuman
impl TryFrom<&str> for DurationHuman
impl Copy for DurationHuman
impl Eq for DurationHuman
impl StructuralEq for DurationHuman
impl StructuralPartialEq for DurationHuman
Auto Trait Implementations§
impl RefUnwindSafe for DurationHuman
impl Send for DurationHuman
impl Sync for DurationHuman
impl Unpin for DurationHuman
impl UnwindSafe for DurationHuman
Blanket Implementations§
source§impl<I> IntoResettable<OsStr> for Iwhere
I: Into<OsStr>,
impl<I> IntoResettable<OsStr> for Iwhere
I: Into<OsStr>,
source§fn into_resettable(self) -> Resettable<OsStr>
fn into_resettable(self) -> Resettable<OsStr>
Convert to the intended resettable type