社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
时间转换
timeLayout := "2006-01-02 15:04:05"
fmt.Println(time.Now().Format(timeLayout))
fmt.Println(time.Now().UTC().Format(timeLayout))
timeStr := "2021-05-18 12:00:00" // 认为服务器时间
location, _ := time.LoadLocation("Local") // timeStr是北京时间,注意使用Local
localTime, _ := time.ParseInLocation(timeLayout, timeStr, location)
fmt.Println(localTime.UTC().Format(timeLayout)) // 转为UTC时间
说明:注意timeStr值,此时我们把它当做服务器时间,所以time.LoadLocation("Local") 使用Local
timeStr := "2021-05-18 12:00:00" // 认为是UTC器时间
location, _ := time.LoadLocation("UTC") // timeStr是北京时间,注意使用UTC
localTime, _ := time.ParseInLocation(timeLayout, timeStr, location)
fmt.Println(localTime.Local().Format(timeLayout)) // 转为Local服务器时间
说明:注意timeStr值,此时我们把它当做UTC时间,所以time.LoadLocation("UTC") 使用Local
timeLayout := "2006-01-02 15:04:05"
timeStr := "2021-05-17 11:00:00" // 认为服务器时间
location, _ := time.LoadLocation("Local") // timeStr是北京时间,注意使用Local
localTime, _ := time.ParseInLocation(timeLayout, timeStr, location)
fmt.Println(localTime.UTC().Format(timeLayout)) // 转为UTC时间
compareTimeStr := "2021-05-17 02:00:00" // 认为UTC时间
location, _ = time.LoadLocation("UTC") // timeStr是北京时间,注意使用UTC
compareTime, _ := time.ParseInLocation(timeLayout, compareTimeStr, location)
fmt.Println(compareTime.Local().Format(timeLayout)) // 转为服务器时间
fmt.Println("------------------------------------")
fmt.Println(compareTime.Before(localTime)) // Before 会统一时间基准点
fmt.Println(compareTime.After(localTime)) // After 会统一时间基准点
说明: Before After会统一时间基准点,可以不用担心因为时区的问题导致时间比较错误,但要注意转为golang time.Time时候的时区问题。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!