Struct rbatis_core::types::timestamp_z::TimestampZ
source · [−]Expand description
Rbatis Timestamp Rust type Postgres type(s) time::OffsetDateTime TIMESTAMPTZ
Fields
inner: DateTime<Utc>
Implementations
sourceimpl TimestampZ
impl TimestampZ
pub fn as_timestamp(arg: &Timestamp) -> i64
pub fn from_le_i64(val: i64) -> Timestamp
Methods from Deref<Target = DateTime<Utc>>
sourcepub fn time(&self) -> NaiveTime
pub fn time(&self) -> NaiveTime
Retrieves a time component.
Unlike date
, this is not associated to the time zone.
sourcepub fn timestamp(&self) -> i64
pub fn timestamp(&self) -> i64
Returns the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”).
sourcepub fn timestamp_millis(&self) -> i64
pub fn timestamp_millis(&self) -> i64
Returns the number of non-leap-milliseconds since January 1, 1970 UTC
Note that this does reduce the number of years that can be represented from ~584 Billion to ~584 Million. (If this is a problem, please file an issue to let me know what domain needs millisecond precision over billions of years, I’m curious.)
Example
use chrono::Utc;
use chrono::TimeZone;
let dt = Utc.ymd(1970, 1, 1).and_hms_milli(0, 0, 1, 444);
assert_eq!(dt.timestamp_millis(), 1_444);
let dt = Utc.ymd(2001, 9, 9).and_hms_milli(1, 46, 40, 555);
assert_eq!(dt.timestamp_millis(), 1_000_000_000_555);
sourcepub fn timestamp_nanos(&self) -> i64
pub fn timestamp_nanos(&self) -> i64
Returns the number of non-leap-nanoseconds since January 1, 1970 UTC
Note that this does reduce the number of years that can be represented from ~584 Billion to ~584. (If this is a problem, please file an issue to let me know what domain needs nanosecond precision over millennia, I’m curious.)
Example
use chrono::Utc;
use chrono::TimeZone;
let dt = Utc.ymd(1970, 1, 1).and_hms_nano(0, 0, 1, 444);
assert_eq!(dt.timestamp_nanos(), 1_000_000_444);
let dt = Utc.ymd(2001, 9, 9).and_hms_nano(1, 46, 40, 555);
assert_eq!(dt.timestamp_nanos(), 1_000_000_000_000_000_555);
sourcepub fn timestamp_subsec_millis(&self) -> u32
pub fn timestamp_subsec_millis(&self) -> u32
Returns the number of milliseconds since the last second boundary
warning: in event of a leap second, this may exceed 999
note: this is not the number of milliseconds since January 1, 1970 0:00:00 UTC
sourcepub fn timestamp_subsec_micros(&self) -> u32
pub fn timestamp_subsec_micros(&self) -> u32
Returns the number of microseconds since the last second boundary
warning: in event of a leap second, this may exceed 999_999
note: this is not the number of microseconds since January 1, 1970 0:00:00 UTC
sourcepub fn timestamp_subsec_nanos(&self) -> u32
pub fn timestamp_subsec_nanos(&self) -> u32
Returns the number of nanoseconds since the last second boundary
warning: in event of a leap second, this may exceed 999_999_999
note: this is not the number of nanoseconds since January 1, 1970 0:00:00 UTC
sourcepub fn with_timezone<Tz2>(&self, tz: &Tz2) -> DateTime<Tz2> where
Tz2: TimeZone,
pub fn with_timezone<Tz2>(&self, tz: &Tz2) -> DateTime<Tz2> where
Tz2: TimeZone,
Changes the associated time zone.
This does not change the actual DateTime
(but will change the string representation).
sourcepub fn naive_utc(&self) -> NaiveDateTime
pub fn naive_utc(&self) -> NaiveDateTime
Returns a view to the naive UTC datetime.
sourcepub fn naive_local(&self) -> NaiveDateTime
pub fn naive_local(&self) -> NaiveDateTime
Returns a view to the naive local datetime.
sourcepub fn to_rfc2822(&self) -> String
pub fn to_rfc2822(&self) -> String
Returns an RFC 2822 date and time string such as Tue, 1 Jul 2003 10:52:37 +0200
.
sourcepub fn to_rfc3339(&self) -> String
pub fn to_rfc3339(&self) -> String
Returns an RFC 3339 and ISO 8601 date and time string such as 1996-12-19T16:39:57-08:00
.
sourcepub fn to_rfc3339_opts(&self, secform: SecondsFormat, use_z: bool) -> String
pub fn to_rfc3339_opts(&self, secform: SecondsFormat, use_z: bool) -> String
Return an RFC 3339 and ISO 8601 date and time string with subseconds
formatted as per a SecondsFormat
. If passed use_z
true and the
timezone is UTC (offset 0), use ‘Z’, as per
Fixed::TimezoneOffsetColonZ.
If passed use_z
false, use
Fixed::TimezoneOffsetColon.
Examples
let dt = Utc.ymd(2018, 1, 26).and_hms_micro(18, 30, 9, 453_829);
assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Millis, false),
"2018-01-26T18:30:09.453+00:00");
assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Millis, true),
"2018-01-26T18:30:09.453Z");
assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Secs, true),
"2018-01-26T18:30:09Z");
let pst = FixedOffset::east(8 * 60 * 60);
let dt = pst.ymd(2018, 1, 26).and_hms_micro(10, 30, 9, 453_829);
assert_eq!(dt.to_rfc3339_opts(SecondsFormat::Secs, true),
"2018-01-26T10:30:09+08:00");
sourcepub fn format_with_items<'a, I, B>(&self, items: I) -> DelayedFormat<I> where
I: Iterator<Item = B> + Clone,
B: Borrow<Item<'a>>,
pub fn format_with_items<'a, I, B>(&self, items: I) -> DelayedFormat<I> where
I: Iterator<Item = B> + Clone,
B: Borrow<Item<'a>>,
Formats the combined date and time with the specified formatting items.
sourcepub fn format(&self, fmt: &'a str) -> DelayedFormat<StrftimeItems<'a>>
pub fn format(&self, fmt: &'a str) -> DelayedFormat<StrftimeItems<'a>>
Formats the combined date and time with the specified format string.
See the format::strftime
module
on the supported escape sequences.
Trait Implementations
sourceimpl Clone for TimestampZ
impl Clone for TimestampZ
sourcefn clone(&self) -> TimestampZ
fn clone(&self) -> TimestampZ
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for TimestampZ
impl Debug for TimestampZ
sourceimpl Deref for TimestampZ
impl Deref for TimestampZ
sourceimpl DerefMut for TimestampZ
impl DerefMut for TimestampZ
sourceimpl<'de> Deserialize<'de> for TimestampZ
impl<'de> Deserialize<'de> for TimestampZ
sourcefn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for TimestampZ
impl Display for TimestampZ
sourceimpl From<&DateTime<Utc>> for TimestampZ
impl From<&DateTime<Utc>> for TimestampZ
sourceimpl From<DateTime<Utc>> for TimestampZ
impl From<DateTime<Utc>> for TimestampZ
sourceimpl Hash for TimestampZ
impl Hash for TimestampZ
sourceimpl Ord for TimestampZ
impl Ord for TimestampZ
sourceimpl PartialEq<TimestampZ> for TimestampZ
impl PartialEq<TimestampZ> for TimestampZ
sourcefn eq(&self, other: &TimestampZ) -> bool
fn eq(&self, other: &TimestampZ) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &TimestampZ) -> bool
fn ne(&self, other: &TimestampZ) -> bool
This method tests for !=
.
sourceimpl PartialOrd<TimestampZ> for TimestampZ
impl PartialOrd<TimestampZ> for TimestampZ
sourcefn partial_cmp(&self, other: &TimestampZ) -> Option<Ordering>
fn partial_cmp(&self, other: &TimestampZ) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn 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 more
sourceimpl Serialize for TimestampZ
impl Serialize for TimestampZ
impl Copy for TimestampZ
impl Eq for TimestampZ
impl StructuralEq for TimestampZ
impl StructuralPartialEq for TimestampZ
Auto Trait Implementations
impl RefUnwindSafe for TimestampZ
impl Send for TimestampZ
impl Sync for TimestampZ
impl Unpin for TimestampZ
impl UnwindSafe for TimestampZ
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.