pub struct Timestamp(/* private fields */);
Available on crate feature
timestamp
only.Expand description
RFC3339 timestamp
Implementations§
Source§impl Timestamp
impl Timestamp
Sourcepub fn new(raw: String) -> Result<Self, TimestampParseError>
pub fn new(raw: String) -> Result<Self, TimestampParseError>
Constructs a new Timestamp if it conforms to Timestamp
Sourcepub const unsafe fn new_unchecked(raw: String) -> Self
pub const unsafe fn new_unchecked(raw: String) -> Self
Sourcepub fn from_static(raw: &'static str) -> Self
pub fn from_static(raw: &'static str) -> Self
Sourcepub fn into_boxed_ref(self) -> Box<TimestampRef>
pub fn into_boxed_ref(self) -> Box<TimestampRef>
Converts this Timestamp
into a Box<TimestampRef>
This will drop any excess capacity.
Methods from Deref<Target = TimestampRef>§
Sourcepub fn as_cow(&self) -> Cow<'_, TimestampRef>
pub fn as_cow(&self) -> Cow<'_, TimestampRef>
Get a
Cow<'_, TimestampRef>
Sourcepub fn normalize(&self) -> Result<Cow<'_, TimestampRef>, TimestampParseError>
pub fn normalize(&self) -> Result<Cow<'_, TimestampRef>, TimestampParseError>
Normalize the timestamp into UTC time.
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z")?;
assert_eq!(time.normalize()?.as_ref(), &time);
let time2 = Timestamp::try_from("2021-07-01T13:37:00-01:00")?;
assert_ne!(time2.normalize()?.as_ref(), &time2);
Sourcepub fn is_before<T: ?Sized>(&self, other: &T) -> boolwhere
Self: PartialOrd<T>,
pub fn is_before<T: ?Sized>(&self, other: &T) -> boolwhere
Self: PartialOrd<T>,
Compare another time and return self < other
.
§Examples
use twitch_types::Timestamp;
let time2021 = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
let time2020 = Timestamp::try_from("2020-07-01T13:37:00Z").unwrap();
assert!(time2020.is_before(&time2021));
Sourcepub fn to_day(&self) -> Timestamp
pub fn to_day(&self) -> Timestamp
Make a timestamp with the time component set to 00:00:00.
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.to_day().as_str(), "2021-07-01T00:00:00Z");
Sourcepub fn year(&self) -> &str
pub fn year(&self) -> &str
Get the year
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.year(), "2021");
Sourcepub fn month(&self) -> &str
pub fn month(&self) -> &str
Get the month
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.month(), "07");
Sourcepub fn day(&self) -> &str
pub fn day(&self) -> &str
Get the day
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.day(), "01");
Sourcepub fn hour(&self) -> &str
pub fn hour(&self) -> &str
Get the hour
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.hour(), "13");
Sourcepub fn minute(&self) -> &str
pub fn minute(&self) -> &str
Get the minute
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.minute(), "37");
Sourcepub fn second(&self) -> &str
pub fn second(&self) -> &str
Get the second
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.second(), "00");
Sourcepub fn millis(&self) -> Option<&str>
pub fn millis(&self) -> Option<&str>
Get the millis
§Examples
use twitch_types::Timestamp;
let time = Timestamp::try_from("2021-07-01T13:37:00.123Z").unwrap();
assert_eq!(time.millis(), Some("123"));
let time = Timestamp::try_from("2021-07-01T13:37:00Z").unwrap();
assert_eq!(time.millis(), None);
Sourcepub fn to_utc(&self) -> OffsetDateTime
Available on crate feature time
only.
pub fn to_utc(&self) -> OffsetDateTime
time
only.Construct into a OffsetDateTime
time with a guaranteed UTC offset.
§Panics
This method assumes the timestamp is a valid rfc3339 timestamp, and panics if not.
Sourcepub fn to_fixed_offset(&self) -> OffsetDateTime
Available on crate feature time
only.
pub fn to_fixed_offset(&self) -> OffsetDateTime
time
only.Construct into a OffsetDateTime
time.
§Panics
This method assumes the timestamp is a valid rfc3339 timestamp, and panics if not.
Trait Implementations§
Source§impl AsRef<TimestampRef> for Timestamp
impl AsRef<TimestampRef> for Timestamp
Source§fn as_ref(&self) -> &TimestampRef
fn as_ref(&self) -> &TimestampRef
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl Borrow<TimestampRef> for Timestamp
impl Borrow<TimestampRef> for Timestamp
Source§fn borrow(&self) -> &TimestampRef
fn borrow(&self) -> &TimestampRef
Immutably borrows from an owned value. Read more
Source§impl<'de> Deserialize<'de> for Timestamp
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for Timestamp
Available on crate feature
serde
only.Source§fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error>
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a> From<&'a Timestamp> for &'a TimestampRef
impl<'a> From<&'a Timestamp> for &'a TimestampRef
Source§impl From<&TimestampRef> for Timestamp
impl From<&TimestampRef> for Timestamp
Source§fn from(s: &TimestampRef) -> Self
fn from(s: &TimestampRef) -> Self
Converts to this type from the input type.
Source§impl From<Box<TimestampRef>> for Timestamp
impl From<Box<TimestampRef>> for Timestamp
Source§fn from(r: Box<TimestampRef>) -> Self
fn from(r: Box<TimestampRef>) -> Self
Converts to this type from the input type.
Source§impl<'a> From<Cow<'a, TimestampRef>> for Timestamp
impl<'a> From<Cow<'a, TimestampRef>> for Timestamp
Source§fn from(r: Cow<'a, TimestampRef>) -> Self
fn from(r: Cow<'a, TimestampRef>) -> Self
Converts to this type from the input type.
Source§impl<'a> IntoCow<'a, TimestampRef> for &'a Timestamp
impl<'a> IntoCow<'a, TimestampRef> for &'a Timestamp
Source§fn into_cow(self) -> Cow<'a, TimestampRef>
fn into_cow(self) -> Cow<'a, TimestampRef>
Make the cow with proper ownership, muu
Source§impl<'a> IntoCow<'a, TimestampRef> for Timestamp
impl<'a> IntoCow<'a, TimestampRef> for Timestamp
Source§fn into_cow(self) -> Cow<'a, TimestampRef>
fn into_cow(self) -> Cow<'a, TimestampRef>
Make the cow with proper ownership, muu
Source§impl PartialEq<&TimestampRef> for Timestamp
impl PartialEq<&TimestampRef> for Timestamp
Source§impl PartialEq<OffsetDateTime> for Timestamp
Available on crate feature time
only.
impl PartialEq<OffsetDateTime> for Timestamp
Available on crate feature
time
only.Source§impl PartialEq<Timestamp> for &TimestampRef
impl PartialEq<Timestamp> for &TimestampRef
Source§impl PartialEq<Timestamp> for TimestampRef
impl PartialEq<Timestamp> for TimestampRef
Source§impl PartialEq<TimestampRef> for Timestamp
impl PartialEq<TimestampRef> for Timestamp
Source§impl PartialOrd<OffsetDateTime> for Timestamp
Available on crate feature time
only.
impl PartialOrd<OffsetDateTime> for Timestamp
Available on crate feature
time
only.Source§impl PartialOrd<Timestamp> for TimestampRef
impl PartialOrd<Timestamp> for TimestampRef
Source§impl PartialOrd for Timestamp
impl PartialOrd for Timestamp
Source§impl TryFrom<OffsetDateTime> for Timestamp
Available on crate feature time
only.
impl TryFrom<OffsetDateTime> for Timestamp
Available on crate feature
time
only.impl Eq for Timestamp
impl StructuralPartialEq for Timestamp
Auto Trait Implementations§
impl Freeze for Timestamp
impl RefUnwindSafe for Timestamp
impl Send for Timestamp
impl Sync for Timestamp
impl Unpin for Timestamp
impl UnwindSafe for Timestamp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)