goProject/.svn/pristine/8e/8e2e4babd3ac4b211249bac4ad8fbf11a3173407.svn-base
2025-01-06 16:21:36 +08:00

65 lines
1.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package timeUtil
import (
"time"
)
// 把时区转换到UTC时区但时间值不变(去掉时区的影响)
func GetUTCTime(timeVal time.Time) time.Time {
_, offset := timeVal.Zone()
timeVal = timeVal.Add(time.Duration(offset) * time.Second)
timeVal = timeVal.In(time.UTC)
return timeVal
}
// 把时间转换成本地时区,但时间值不变(去掉时区的影响)
func GetLocalTime(timeVal time.Time) time.Time {
// 获取本地时区的时间偏移
tmpVal := time.Now()
_, localOffset := tmpVal.Zone()
// 获取指定时间值的时区偏移
_, timeOffset := timeVal.Zone()
timeVal = timeVal.Add(time.Duration(timeOffset-localOffset) * time.Second)
timeVal = timeVal.In(time.Local)
return timeVal
}
// 增加本地时区的值到指定时间上
func AddLocalTimeZone(timeVal int64) int64 {
// 获取本地时区的时间偏移
tmpVal := time.Now()
_, localOffset := tmpVal.Zone()
return timeVal + int64(localOffset)
}
// 增加本地时区的值到指定时间上
func AddLocalTimeZone2(timeVal time.Time) time.Time {
// 获取本地时区的时间偏移
tmpVal := time.Now()
_, localOffset := tmpVal.Zone()
return timeVal.Add(time.Duration(localOffset) * time.Second)
}
// 减去本地时区到指定时间上
func SubLocalTimeZone(timeVal int64) int64 {
// 获取本地时区的时间偏移
tmpVal := time.Now()
_, localOffset := tmpVal.Zone()
return timeVal + -1*int64(localOffset)
}
// 减去本地时区到指定时间上
func SubLocalTimeZone2(timeVal time.Time) time.Time {
// 获取本地时区的时间偏移
tmpVal := time.Now()
_, localOffset := tmpVal.Zone()
return timeVal.Add(-1 * time.Duration(localOffset) * time.Second)
}