pub struct TimestampRef(/* private fields */);
timestamp
only.Expand description
RFC3339 timestamp
Implementations§
Source§impl TimestampRef
impl TimestampRef
Sourcepub fn from_str(raw: &str) -> Result<&Self, TimestampParseError>
pub fn from_str(raw: &str) -> Result<&Self, TimestampParseError>
Transparently reinterprets the string slice as a strongly-typed TimestampRef if it conforms to Timestamp
Sourcepub const unsafe fn from_str_unchecked(raw: &str) -> &Self
pub const unsafe fn from_str_unchecked(raw: &str) -> &Self
Transparently reinterprets the string slice as a strongly-typed TimestampRef without validating
Sourcepub fn from_static(raw: &'static str) -> &'static Self
pub fn from_static(raw: &'static str) -> &'static Self
Sourcepub fn into_owned(self: Box<TimestampRef>) -> Timestamp
pub fn into_owned(self: Box<TimestampRef>) -> Timestamp
Converts a Box<TimestampRef>
into a Timestamp
without copying or allocating
Source§impl TimestampRef
impl TimestampRef
Sourcepub fn as_cow(&self) -> Cow<'_, TimestampRef>
pub fn as_cow(&self) -> Cow<'_, TimestampRef>
Get a
Cow<'_, TimestampRef>
Source§impl TimestampRef
impl 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);
Source§impl TimestampRef
impl TimestampRef
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
Source§impl AsRef<str> for TimestampRef
impl AsRef<str> for TimestampRef
Source§impl Borrow<TimestampRef> for Timestamp
impl Borrow<TimestampRef> for Timestamp
Source§fn borrow(&self) -> &TimestampRef
fn borrow(&self) -> &TimestampRef
Source§impl Borrow<str> for TimestampRef
impl Borrow<str> for TimestampRef
Source§impl Debug for TimestampRef
impl Debug for TimestampRef
Source§impl<'de: 'a, 'a> Deserialize<'de> for &'a TimestampRef
Available on crate feature serde
only.
impl<'de: 'a, 'a> Deserialize<'de> for &'a TimestampRef
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>
Source§impl<'de> Deserialize<'de> for Box<TimestampRef>
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for Box<TimestampRef>
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>
Source§impl Display for TimestampRef
impl Display for TimestampRef
Source§impl<'a, 'b: 'a> From<&'a Cow<'b, TimestampRef>> for &'a TimestampRef
impl<'a, 'b: 'a> From<&'a Cow<'b, TimestampRef>> for &'a TimestampRef
Source§fn from(r: &'a Cow<'b, TimestampRef>) -> &'a TimestampRef
fn from(r: &'a Cow<'b, TimestampRef>) -> &'a TimestampRef
Source§impl<'a> From<&'a Timestamp> for &'a TimestampRef
impl<'a> From<&'a Timestamp> for &'a TimestampRef
Source§impl From<&TimestampRef> for Arc<TimestampRef>
impl From<&TimestampRef> for Arc<TimestampRef>
Source§fn from(r: &TimestampRef) -> Self
fn from(r: &TimestampRef) -> Self
Source§impl<'a> From<&'a TimestampRef> for Cow<'a, TimestampRef>
impl<'a> From<&'a TimestampRef> for Cow<'a, TimestampRef>
Source§fn from(r: &'a TimestampRef) -> Self
fn from(r: &'a TimestampRef) -> Self
Source§impl From<&TimestampRef> for Rc<TimestampRef>
impl From<&TimestampRef> for Rc<TimestampRef>
Source§fn from(r: &TimestampRef) -> Self
fn from(r: &TimestampRef) -> Self
Source§impl From<&TimestampRef> for Timestamp
impl From<&TimestampRef> for Timestamp
Source§fn from(s: &TimestampRef) -> Self
fn from(s: &TimestampRef) -> Self
Source§impl Hash for TimestampRef
impl Hash for TimestampRef
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>
Source§impl<'a> IntoCow<'a, TimestampRef> for &'a TimestampRef
impl<'a> IntoCow<'a, TimestampRef> for &'a TimestampRef
Source§fn into_cow(self) -> Cow<'a, TimestampRef>
fn into_cow(self) -> Cow<'a, TimestampRef>
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>
Source§impl PartialEq<&TimestampRef> for Timestamp
impl PartialEq<&TimestampRef> for Timestamp
Source§impl PartialEq<OffsetDateTime> for TimestampRef
Available on crate feature time
only.
impl PartialEq<OffsetDateTime> for TimestampRef
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 PartialEq for TimestampRef
impl PartialEq for TimestampRef
Source§impl PartialOrd<OffsetDateTime> for TimestampRef
Available on crate feature time
only.
impl PartialOrd<OffsetDateTime> for TimestampRef
time
only.Source§impl PartialOrd<Timestamp> for TimestampRef
impl PartialOrd<Timestamp> for TimestampRef
Source§impl PartialOrd for TimestampRef
impl PartialOrd for TimestampRef
Source§impl Serialize for TimestampRef
Available on crate feature serde
only.
impl Serialize for TimestampRef
serde
only.