Struct cobalt_config::DateTime [−][src]
#[repr(transparent)]pub struct DateTime { /* fields omitted */ }
Expand description
Liquid’s native date + time type.
Implementations
Changes the associated time zone. This does not change the actual DateTime (but will change the string representation).
Methods from Deref<Target = DateTime<FixedOffset>>
Retrieves a time component.
Unlike date
, this is not associated to the time zone.
Returns the number of non-leap seconds since January 1, 1970 0:00:00 UTC (aka “UNIX timestamp”).
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);
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);
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
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
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
Changes the associated time zone.
This does not change the actual DateTime
(but will change the string representation).
Returns a view to the naive UTC datetime.
Returns a view to the naive local datetime.
Returns an RFC 2822 date and time string such as Tue, 1 Jul 2003 10:52:37 +0200
.
Returns an RFC 3339 and ISO 8601 date and time string such as 1996-12-19T16:39:57-08:00
.
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");
pub fn format_with_items<'a, I, B>(&self, items: I) -> DelayedFormat<I> where
B: Borrow<Item<'a>>,
I: Iterator<Item = B> + Clone,
pub fn format_with_items<'a, I, B>(&self, items: I) -> DelayedFormat<I> where
B: Borrow<Item<'a>>,
I: Iterator<Item = B> + Clone,
Formats the combined date and time with the specified formatting items.
Formats the combined date and time with the specified format string.
See the format::strftime
module
on the supported escape sequences.
Trait Implementations
Returns the year number in the calendar date.
Makes a new value with the year number changed. Read more
Makes a new value with the month number (starting from 1) changed. Read more
Makes a new value with the month number (starting from 0) changed. Read more
Makes a new value with the day of month (starting from 1) changed. Read more
Makes a new value with the day of month (starting from 0) changed. Read more
Makes a new value with the day of year (starting from 1) changed. Read more
Makes a new value with the day of year (starting from 0) changed. Read more
Returns the absolute year number starting from 1 with a boolean flag, which is false when the year predates the epoch (BCE/BC) and true otherwise (CE/AD). Read more
Counts the days in the proleptic Gregorian calendar, with January 1, Year 1 (CE) as day 1. Read more
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<DateTime, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<DateTime, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Returns the number of nanoseconds since the whole non-leap second. The range from 1,000,000,000 to 1,999,999,999 represents the leap second. Read more
Makes a new value with the hour number changed. Read more
Makes a new value with the minute number changed. Read more
Makes a new value with the second number changed. Read more
Makes a new value with nanoseconds since the whole non-leap second changed. Read more
Returns the hour number from 1 to 12 with a boolean flag, which is false for AM and true for PM. Read more
Returns the number of non-leap seconds past the last midnight.
A Display
for a BoxedValue
rendered for the user.
A Display
for a Value
as source code.
Query the value’s state
Interpret as a string.
Extracts the object value if it is a object.
Auto Trait Implementations
impl RefUnwindSafe for DateTime
impl UnwindSafe for DateTime
Blanket Implementations
Clone the value
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.