1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use std::fmt::{self, Display};
use super::{Date, DateTime, Time};
impl Display for Date {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
Date::YMD { year, month, day } => write!(f, "{:04}-{:02}-{:02}", year, month, day),
Date::Week { year, ww, d } => write!(f, "{:04}-{:02}-{:02}", year, ww, d),
Date::Ordinal { year, ddd } => write!(f, "{:04}-{:03}", year, ddd),
}
}
}
impl Display for Time {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(
f,
"{:02}:{:02}:{:02}.{}+{:02}:{:02}",
self.hour,
self.minute,
self.second,
self.millisecond,
self.tz_offset_hours,
self.tz_offset_hours
)
}
}
impl Display for DateTime {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}T{}", self.date, self.time)
}
}