-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTimeConvert.go
More file actions
97 lines (85 loc) · 1.48 KB
/
TimeConvert.go
File metadata and controls
97 lines (85 loc) · 1.48 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
package util
import (
"time"
)
var (
BeiJing = time.FixedZone("CST", 8*3600)
UTCLocation = time.UTC
Location = UTCLocation
)
//TimeConvert 时间操作类
//GetCurrTime 当前UTC时间
func GetCurrTime() time.Time {
return time.Now().In(Location)
}
//GetCurrTimeSecond 当前UTC时间精确到秒
func GetCurrTimeSecond() time.Time {
result := GetCurrTime()
result = time.Date(
result.Year(),
result.Month(),
result.Day(),
result.Hour(),
result.Minute(),
result.Second(),
0,
Location)
return result
}
//GetCurrDate 当前时间的日期
func GetCurrDate() time.Time {
result := GetCurrTime()
result = time.Date(
result.Year(),
result.Month(),
result.Day(),
0,
0,
0,
0,
Location)
return result
}
func GetDate(d time.Time) time.Time {
result := time.Date(
d.Year(),
d.Month(),
d.Day(),
0,
0,
0,
0,
Location)
return result
}
func GetMinDateTime() time.Time {
result := time.Date(
1970,
1,
1,
0,
0,
0,
0,
Location)
return result
}
func UnixToTime(d int64) time.Time {
return time.Unix(d, 0).In(Location)
}
//设置获取的服务器时间的默认时区
func SetLocation(loc *time.Location) {
Location = loc
}
//Utc时间
type TimeUtc struct {
time.Time
}
func (this TimeUtc) MarshalJSON() ([]byte, error) {
buf := NewStringInt64(this.Unix()).ToString()
return []byte(buf), nil
}
func (this *TimeUtc) UnmarshalJSON(v []byte) error {
this.Time = time.Unix(NewString(string(v)).ToInt64V(), 0).UTC()
return nil
}