// This is a part of Chrono. // See README.md and LICENSE.txt for details.
//! The UTC (Coordinated Universal Time) time zone.
use core::fmt;
usesuper::{FixedOffset, LocalResult, Offset, TimeZone}; use naive::{NaiveDate, NaiveDateTime}; #[cfg(all(
feature = "clock",
not(all(target_arch = "wasm32", not(target_os = "wasi"), feature = "wasmbind"))
))] use std::time::{SystemTime, UNIX_EPOCH}; #[cfg(feature = "clock")] use {Date, DateTime};
/// The UTC time zone. This is the most efficient time zone when you don't need the local time. /// It is also used as an offset (which is also a dummy type). /// /// Using the [`TimeZone`](./trait.TimeZone.html) methods /// on the UTC struct is the preferred way to construct `DateTime<Utc>` /// instances. /// /// # Example /// /// ~~~~ /// use chrono::{DateTime, TimeZone, NaiveDateTime, Utc}; /// /// let dt = DateTime::<Utc>::from_utc(NaiveDateTime::from_timestamp(61, 0), Utc); /// /// assert_eq!(Utc.timestamp(61, 0), dt); /// assert_eq!(Utc.ymd(1970, 1, 1).and_hms(0, 1, 1), dt); /// ~~~~ #[derive(Copy, Clone, PartialEq, Eq)] pubstruct Utc;
#[cfg(feature = "clock")] impl Utc { /// Returns a `Date` which corresponds to the current date. pubfn today() -> Date<Utc> {
Utc::now().date()
}
/// Returns a `DateTime` which corresponds to the current date. #[cfg(not(all(target_arch = "wasm32", not(target_os = "wasi"), feature = "wasmbind")))] pubfn now() -> DateTime<Utc> { let now =
SystemTime::now().duration_since(UNIX_EPOCH).expect("system time before Unix epoch"); let naive = NaiveDateTime::from_timestamp(now.as_secs() as i64, now.subsec_nanos() as u32);
DateTime::from_utc(naive, Utc)
}
/// Returns a `DateTime` which corresponds to the current date. #[cfg(all(target_arch = "wasm32", not(target_os = "wasi"), feature = "wasmbind"))] pubfn now() -> DateTime<Utc> { let now = js_sys::Date::new_0();
DateTime::<Utc>::from(now)
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.