time.go
2.85 KB
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
package ztime
import "time"
const (
DtFormatDate = "2006-01-02"
DtFormatTime = "2006-01-02 15:04:05"
DtFormatMonth = "2006-01"
)
// Unix 获取当前秒时间戳
func Unix() int64 {
return time.Now().Unix()
}
// UnixMilli 获取当前毫秒时间戳
func UnixMilli() int64 {
return time.Now().UnixMilli()
}
// TimeToDateString
// @Description: 时间转日期字符串
// @param dt
// @return string
func TimeToDateString(dt time.Time) string {
return dt.Format(DtFormatDate)
}
// TimeToTimeString
// @Description: 时间转时间字符串
// @param dt
// @return string
func TimeToTimeString(dt time.Time) string {
return dt.Format(DtFormatTime)
}
// TimeToMonthString
// @Description: 时间转月份字符串
// @param dt
// @return string
func TimeToMonthString(dt time.Time) string {
return dt.Format(DtFormatMonth)
}
// TimeToMonth
// @Description: 时间转月份字符串
// @param dt
// @return string
func TimeToMonth(dt time.Time) int {
return dt.Year()*100 + int(dt.Month())
}
// DateStringToTimeE
// @Description: 日期字符串转时间
// @param dt
// @return time.Time
// @return error
func DateStringToTimeE(dt string) (time.Time, error) {
return time.Parse(DtFormatDate, dt)
}
// DateStringToTime
// @Description: 时间字符串转时间
// @param dt
// @return time.Time
// @return error
func DateStringToTime(dt string) time.Time {
if t, err := time.Parse(DtFormatDate, dt); err == nil {
return t
} else {
return time.Now()
}
}
// TimeStringToTimeE
// @Description: 时间字符串转时间
// @param dt
// @return time.Time
// @return error
func TimeStringToTimeE(dt string) (time.Time, error) {
return time.Parse(DtFormatTime, dt)
}
// TimeStringToTime
// @Description: 时间字符串转时间
// @param dt
// @return time.Time
// @return error
func TimeStringToTime(dt string) time.Time {
if t, err := time.Parse(DtFormatTime, dt); err == nil {
return t
} else {
return time.Now()
}
}
// TimeTextInt64 把时间转换成数字字符串 比如 20240510113130
func TimeTextInt64(dt time.Time) int64 {
date := int64(dt.Year())*1_0000 + int64(dt.Month())*100 + int64(dt.Day())
t := int64(dt.Hour())*1_0000 + int64(dt.Minute())*100 + int64(dt.Second())
return date*1_000000 + t
}
// SameMonth
// @Description: 判断同一月
// @param dt1
// @param dt2
// @return bool
func SameMonth(dt1, dt2 time.Time) bool {
return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month()
}
// SameDay
// @Description: 判断同一天
// @param dt1
// @param dt2
// @return bool
func SameDay(dt1, dt2 time.Time) bool {
return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month() && dt1.Day() == dt2.Day()
}
// SameHour
// @Description: 判断同一小时
// @param dt1
// @param dt2
// @return bool
func SameHour(dt1, dt2 time.Time) bool {
return dt1.Year() == dt2.Year() && dt1.Month() == dt2.Month() && dt1.Day() == dt2.Day() && dt1.Hour() == dt2.Hour()
}