date_differencer/diff/
jiff_support.rs1use jiff::{Zoned, civil::DateTime};
2
3use super::DateTimeParts;
4
5impl DateTimeParts for DateTime {
6 #[inline]
7 fn year(&self) -> i32 {
8 i32::from(DateTime::year(*self))
9 }
10
11 #[inline]
12 fn month(&self) -> u8 {
13 DateTime::month(*self) as u8
14 }
15
16 #[inline]
17 fn day(&self) -> u8 {
18 DateTime::day(*self) as u8
19 }
20
21 #[inline]
22 fn hour(&self) -> u8 {
23 DateTime::hour(*self) as u8
24 }
25
26 #[inline]
27 fn minute(&self) -> u8 {
28 DateTime::minute(*self) as u8
29 }
30
31 #[inline]
32 fn second(&self) -> u8 {
33 DateTime::second(*self) as u8
34 }
35
36 #[inline]
37 fn nanosecond(&self) -> u32 {
38 DateTime::subsec_nanosecond(*self) as u32
39 }
40}
41
42impl DateTimeParts for Zoned {
43 #[inline]
44 fn year(&self) -> i32 {
45 i32::from(self.year())
46 }
47
48 #[inline]
49 fn month(&self) -> u8 {
50 self.month() as u8
51 }
52
53 #[inline]
54 fn day(&self) -> u8 {
55 self.day() as u8
56 }
57
58 #[inline]
59 fn hour(&self) -> u8 {
60 self.hour() as u8
61 }
62
63 #[inline]
64 fn minute(&self) -> u8 {
65 self.minute() as u8
66 }
67
68 #[inline]
69 fn second(&self) -> u8 {
70 self.second() as u8
71 }
72
73 #[inline]
74 fn nanosecond(&self) -> u32 {
75 self.subsec_nanosecond() as u32
76 }
77}