43 lines
927 B
Go
43 lines
927 B
Go
![]() |
package xtime
|
|||
|
|
|||
|
import (
|
|||
|
"github.com/golang-module/carbon/v2"
|
|||
|
"time"
|
|||
|
)
|
|||
|
|
|||
|
type TimezoneOffset = int
|
|||
|
|
|||
|
// 系统时区偏移量,也就是默认时区偏移量
|
|||
|
var sysTimezoneOffset = SaoPauloTimezoneOffset
|
|||
|
|
|||
|
var nowOffset int
|
|||
|
|
|||
|
const (
|
|||
|
// SaoPauloTimezoneOffset 南美/圣保罗 西三区时间,UTC-3
|
|||
|
SaoPauloTimezoneOffset TimezoneOffset = -3 * 3600
|
|||
|
// ShangHaiTimezoneOffset 亚洲/上海 东八区时间,UTC+3
|
|||
|
ShangHaiTimezoneOffset TimezoneOffset = 8 * 3600
|
|||
|
)
|
|||
|
|
|||
|
const (
|
|||
|
|
|||
|
// 每周起始日
|
|||
|
WeekStartsAt = carbon.Monday
|
|||
|
|
|||
|
// 时间间隔
|
|||
|
NoDuration = time.Duration(0)
|
|||
|
Day = time.Hour * 24
|
|||
|
Week = 7 * Day
|
|||
|
Month = 30 * Day
|
|||
|
)
|
|||
|
|
|||
|
// SetSysTimezoneOffset 设置系统时区偏移量,影响所有默认行为
|
|||
|
func SetSysTimezoneOffset(offset int) {
|
|||
|
sysTimezoneOffset = offset
|
|||
|
}
|
|||
|
|
|||
|
// SetNowTimeOffset 设置当前时间偏移,影响Now的结果
|
|||
|
func SetNowTimeOffset(offset int) {
|
|||
|
nowOffset = offset
|
|||
|
}
|