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
40
41
42
43
44
45
46
47
48
49
50
#[derive(Copy, Clone)]
pub enum WeekDay {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday,
}
static WEEK_DAY_LIST: [WeekDay; 7] = [
WeekDay::Monday,
WeekDay::Tuesday,
WeekDay::Wednesday,
WeekDay::Thursday,
WeekDay::Friday,
WeekDay::Saturday,
WeekDay::Sunday,
];
impl From<i32> for WeekDay {
fn from(index: i32) -> Self {
WEEK_DAY_LIST[((index + 7) % 7) as usize]
}
}
impl Into<i32> for WeekDay {
fn into(self) -> i32 {
match self {
WeekDay::Monday => 0,
WeekDay::Tuesday => 1,
WeekDay::Wednesday => 2,
WeekDay::Thursday => 3,
WeekDay::Friday => 4,
WeekDay::Saturday => 5,
WeekDay::Sunday => 6,
}
}
}