chore(init): 初始化解忧商行项目并完成 Phase 0 基座

This commit is contained in:
yml2213
2026-10-30 11:46:10 +08:00
commit 8d9481c251
689 changed files with 138703 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
package timeutil
import (
"sync"
"time"
)
var (
shanghaiOnce sync.Once
shanghaiLoc *time.Location
)
// ShanghaiLocation 返回业务统一使用的北京时间时区。
func ShanghaiLocation() *time.Location {
shanghaiOnce.Do(func() {
loc, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
loc = time.FixedZone("Asia/Shanghai", 8*60*60)
}
shanghaiLoc = loc
})
return shanghaiLoc
}
// ShanghaiNow 返回当前北京时间,避免容器默认 UTC 影响无时区字符串。
func ShanghaiNow() time.Time {
return time.Now().In(ShanghaiLocation())
}