|
- package tool
-
- import (
- "time"
- )
-
- var timeTemplates = []string{
- "2006-01-02 15:04:05", //常规类型
- "2006/01/02 15:04:05",
- "2006-01-02",
- "2006/01/02",
- "15:04:05",
- }
-
- func GetTimeDurationString(startTime string, endTime string) string {
- end, _ := time.Parse("2006-01-02 15:04:05", endTime)
- start, _ := time.Parse("2006-01-02 15:04:05", startTime)
- difference := end.Sub(start)
- return difference.Truncate(time.Second).String()
- }
-
- func DurationToDateTime(timeData uint64) time.Time {
- timeString := time.Unix(int64(timeData), 0).Format("2006-01-02 15:04:05")
- return TimeStringToGoTime(timeString)
- }
-
- // TimeStringToGoTime 时间格式字符串转换
- func TimeStringToGoTime(tm string) time.Time {
- for i := range timeTemplates {
- t, err := time.ParseInLocation(timeTemplates[i], tm, time.Local)
- if nil == err && !t.IsZero() {
- return t
- }
- }
- return time.Time{}
- }
-
- func TimeStringRemoveZone(tm string) string {
- timeZone, _ := time.Parse("2006-01-02 15:04:05 -0700 MST", tm)
- return timeZone.Format("2006-01-02 15:04:05")
- }
-
- func TimeRemoveZone(tm time.Time) time.Time {
- parse, err := time.Parse("2006-01-02 15:04:05", tm.Format("2006-01-02 15:04:05"))
- if err != nil {
- return time.Time{}
- }
- return parse
- }
|