-
Notifications
You must be signed in to change notification settings - Fork 0
/
time.go
87 lines (74 loc) · 2.09 KB
/
time.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
package util
import "time"
var (
maxTime = time.Unix(0, (1<<63)-1)
utcLayout = "2006-01-02 15:04:05"
yearlyLayout = "2006"
monthlyLayout = "200601"
dailyLayout = "20060102"
hourlyLayout = "2006010215"
)
// TimestampByMaxTime returns max unixnano timestamp.
func TimestampByMaxTime() int64 {
return maxTime.UnixNano()
}
// StringToTime converts formatted(utcLayout) string to time.
func StringToTime(s string) time.Time {
t, err := time.Parse(utcLayout, s)
if err != nil {
return time.Time{}
}
return t
}
// TimeToString converts time to formatted(utcLayout) string.
func TimeToString(t time.Time) string {
return t.Format(utcLayout)
}
// YearlyStringToTime converts to formatted(yearlyLayout) string to time.
func YearlyStringToTime(s string) time.Time {
t, err := time.Parse(yearlyLayout, s)
if err != nil {
return time.Time{}
}
return t
}
// TimeToYearlyStringFormat converts time to formatted(yearlyLayout) string.
func TimeToYearlyStringFormat(t time.Time) string {
return t.Format(yearlyLayout)
}
// MonthlyStringToTime converts formatted(monthlyLayout) to time.
func MonthlyStringToTime(s string) time.Time {
t, err := time.Parse(monthlyLayout, s)
if err != nil {
return time.Time{}
}
return t
}
// TimeToMonthlyStringFormat converts time to string(monthlyLayout).
func TimeToMonthlyStringFormat(t time.Time) string {
return t.Format(monthlyLayout)
}
// DailyStringToTime converts formatted(dailyLayout) string to time.
func DailyStringToTime(s string) time.Time {
t, err := time.Parse(dailyLayout, s)
if err != nil {
return time.Time{}
}
return t
}
// TimeToDailyStringFormat converts time to formatted(dailyLayout) string.
func TimeToDailyStringFormat(t time.Time) string {
return t.Format(dailyLayout)
}
// HourlyStringToTime converts string to formatted(hourlyLayout) string.
func HourlyStringToTime(s string) time.Time {
t, err := time.Parse(hourlyLayout, s)
if err != nil {
return time.Time{}
}
return t
}
// TimeToHourlyStringFormat converts to time to string(hourlyLayout).
func TimeToHourlyStringFormat(t time.Time) string {
return t.Format(hourlyLayout)
}