forked from dromara/carbon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalendar.go
executable file
·138 lines (121 loc) · 2.46 KB
/
calendar.go
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package carbon
var (
// 十二生肖
SymbolicAnimals = [12]string{"猴", "鸡", "狗", "猪", "鼠", "牛", "虎", "兔", "龙", "蛇", "马", "羊"}
// 天干
HeavenlyStems = [10]string{"庚", "辛", "壬", "癸", "甲", "乙", "丙", "丙", "戊", "己"}
// 地支
EarthlyBranches = [12]string{"申", "酉", "戌", "亥", "子", "丑", "寅", "卯", "辰", "巳", "午", "未"}
)
// ToAnimalYear 获取生肖年
func (c Carbon) ToAnimalYear() string {
if c.Time.IsZero() {
return ""
}
year := c.Time.Year()
return SymbolicAnimals[year%12]
}
// ToLunarYear 获取农历年
func (c Carbon) ToLunarYear() string {
if c.Time.IsZero() {
return ""
}
year := c.Time.Year()
return HeavenlyStems[year%10] + EarthlyBranches[year%12]
}
// IsYearOfRat 是否是鼠年
func (c Carbon) IsYearOfRat() bool {
year := c.Time.Year()
if year%12 == 4 {
return true
}
return false
}
// IsYearOfOx 是否是牛年
func (c Carbon) IsYearOfOx() bool {
year := c.Time.Year()
if year%12 == 5 {
return true
}
return false
}
// IsYearOfTiger 是否是虎年
func (c Carbon) IsYearOfTiger() bool {
year := c.Time.Year()
if year%12 == 6 {
return true
}
return false
}
// IsYearOfRabbit 是否是兔年
func (c Carbon) IsYearOfRabbit() bool {
year := c.Time.Year()
if year%12 == 7 {
return true
}
return false
}
// IsYearOfDragon 是否是龙年
func (c Carbon) IsYearOfDragon() bool {
year := c.Time.Year()
if year%12 == 8 {
return true
}
return false
}
// IsYearOfSnake 是否是蛇年
func (c Carbon) IsYearOfSnake() bool {
year := c.Time.Year()
if year%12 == 9 {
return true
}
return false
}
// IsYearOfHorse 是否是马年
func (c Carbon) IsYearOfHorse() bool {
year := c.Time.Year()
if year%12 == 10 {
return true
}
return false
}
// IsYearOfGoat 是否是羊年
func (c Carbon) IsYearOfGoat() bool {
year := c.Time.Year()
if year%12 == 11 {
return true
}
return false
}
// IsYearOfMonkey 是否是猴年
func (c Carbon) IsYearOfMonkey() bool {
year := c.Time.Year()
if year%12 == 0 {
return true
}
return false
}
// IsYearOfRooster 是否是鸡年
func (c Carbon) IsYearOfRooster() bool {
year := c.Time.Year()
if year%12 == 1 {
return true
}
return false
}
// IsYearOfDog 是否是狗年
func (c Carbon) IsYearOfDog() bool {
year := c.Time.Year()
if year%12 == 2 {
return true
}
return false
}
// IsYearOfPig 是否是猪年
func (c Carbon) IsYearOfPig() bool {
year := c.Time.Year()
if year%12 == 3 {
return true
}
return false
}