1use radio_datetime_utils::RadioDateTimeUtils;
5
6fn main() {
7 let mut dcf77 = RadioDateTimeUtils::new(7);
8
9 dcf77.set_year(Some(24), true, false);
16 dcf77.set_month(Some(1), true, false);
18 dcf77.set_day(Some(25), true, false);
19 println!("Day-of-month: {:?}", dcf77.get_day());
20 dcf77.set_weekday(Some(4), true, false);
21 dcf77.set_day(Some(25), true, false);
22 dcf77.set_hour(Some(22), true, false);
23 dcf77.set_minute(Some(34), true, false);
24 println!(
28 "Initial: date={:?}-{:?}-{:?} weekday={:?} time={:?}:{:?} jumped={}",
29 dcf77.get_year(),
30 dcf77.get_month(),
31 dcf77.get_day(),
32 dcf77.get_weekday(),
33 dcf77.get_hour(),
34 dcf77.get_minute(),
35 dcf77.get_jump_minute()
36 );
37
38 dcf77.set_minute(Some(35), true, true);
41 println!(
42 "Minute={:?}, jumped={}",
43 dcf77.get_minute(),
44 dcf77.get_jump_minute()
45 );
46 dcf77.set_dst(Some(false), Some(false), false);
49 println!("add_minute()={}", dcf77.add_minute());
50 println!(
51 "After add_minute(): date={:?}-{:?}-{:?} weekday={:?} time={:?}:{:?} jumped={}",
52 dcf77.get_year(),
53 dcf77.get_month(),
54 dcf77.get_day(),
55 dcf77.get_weekday(),
56 dcf77.get_hour(),
57 dcf77.get_minute(),
58 dcf77.get_jump_minute()
59 );
60
61 dcf77.set_minute(Some(36), true, true);
63 println!(
64 "Minute={:?}, jumped={}",
65 dcf77.get_minute(),
66 dcf77.get_jump_minute()
67 );
68
69 dcf77.set_month(Some(14), true, false);
71 println!("Month={:?}", dcf77.get_month());
72 dcf77.set_year(None, true, false);
73 println!("Year={:?}", dcf77.get_year());
74
75 let mut msf = RadioDateTimeUtils::new(0);
77 msf.set_year(Some(99), true, false);
78 msf.set_month(Some(12), true, false);
79 msf.set_weekday(Some(5), true, false); msf.set_day(Some(31), true, false);
81 msf.set_hour(Some(23), true, false);
82 msf.set_minute(Some(59), true, false);
83 println!(
84 "Old century: date={:?}-{:?}-{:?} weekday={:?} time={:?}-{:?} {:?}",
85 msf.get_year(),
86 msf.get_month(),
87 msf.get_day(),
88 msf.get_weekday(),
89 msf.get_hour(),
90 msf.get_minute(),
91 msf.get_dst()
92 );
93
94 msf.set_dst(Some(false), Some(true), false);
97 println!("add_minute()={}", msf.add_minute());
98 msf.set_dst(Some(true), Some(true), false);
99 println!(
100 "New century: date={:?}-{:?}-{:?} weekday={:?} time={:?}-{:?} {:?}",
101 msf.get_year(),
102 msf.get_month(),
103 msf.get_day(),
104 msf.get_weekday(),
105 msf.get_hour(),
106 msf.get_minute(),
107 msf.get_dst()
108 );
109
110 msf.set_hour(Some(2), true, true);
112 println!("Hour={:?} jumped={:?}", msf.get_hour(), msf.get_jump_hour());
113 msf.set_hour(Some(2), true, true);
114 println!("Hour={:?} jumped={:?}", msf.get_hour(), msf.get_jump_hour());
115
116 let mut wwvb = RadioDateTimeUtils::new(0); wwvb.set_year(Some(24), true, false); wwvb.set_month_day(Some(60), Some(true), true, true, false);
121 wwvb.set_utc_offset(-300, true);
122 println!(
124 "WWVB: date={:?}-{:?}-{:?}",
125 wwvb.get_year(),
126 wwvb.get_month(),
127 wwvb.get_day()
128 );
129
130 wwvb.reset();
131 println!(" Reset WWVB: {:#?}", wwvb)
132}