1 //! Date and time types unconcerned with timezones.
2 //!
3 //! They are primarily building blocks for other types
4 //! (e.g. [`TimeZone`](../offset/trait.TimeZone.html)),
5 //! but can be also used for the simpler date and time handling.
6 
7 pub(crate) mod date;
8 pub(crate) mod datetime;
9 mod internals;
10 pub(crate) mod isoweek;
11 pub(crate) mod time;
12 
13 pub use self::date::{Days, NaiveDate, NaiveDateDaysIterator, NaiveDateWeeksIterator, NaiveWeek};
14 #[allow(deprecated)]
15 pub use self::date::{MAX_DATE, MIN_DATE};
16 #[cfg(feature = "rustc-serialize")]
17 #[allow(deprecated)]
18 pub use self::datetime::rustc_serialize::TsSeconds;
19 #[allow(deprecated)]
20 pub use self::datetime::{NaiveDateTime, MAX_DATETIME, MIN_DATETIME};
21 pub use self::isoweek::IsoWeek;
22 pub use self::time::NaiveTime;
23 
24 #[cfg(feature = "__internal_bench")]
25 #[doc(hidden)]
26 pub use self::internals::YearFlags as __BenchYearFlags;
27 
28 /// Serialization/Deserialization of naive types in alternate formats
29 ///
30 /// The various modules in here are intended to be used with serde's [`with`
31 /// annotation][1] to serialize as something other than the default [RFC
32 /// 3339][2] format.
33 ///
34 /// [1]: https://serde.rs/attributes.html#field-attributes
35 /// [2]: https://tools.ietf.org/html/rfc3339
36 #[cfg(feature = "serde")]
37 pub mod serde {
38     pub use super::datetime::serde::*;
39 }
40