fix(时区): 推送时间统一使用 UTC+8 而非服务器本地时区
Motivation: 推送时间原先依赖 time.Local,部署在不同时区的服务器会产生不一致的展示结果。统一为 UTC+8,确保所有订阅者看到的时间固定为北京时间。 Changes: * 新增 internal/tz 时区工具,集中定义 UTC+8 与格式化逻辑 * 通知、crypto 策略、交易信号的时间渲染统一改用 UTC+8 * 补充测试断言 pushedAt 为 UTC+8 当前时间 * 更新 README 中关于注入时间的说明 Breaking Changes: 所有推送时间字段将按 UTC+8 展示,若服务部署在非 UTC+8 时区且依赖原本地时间行为,输出会发生变化。
This commit is contained in:
@@ -3,7 +3,8 @@ package tradesignal
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"aiaa-notification-service/internal/tz"
|
||||
)
|
||||
|
||||
type FormatOptions struct {
|
||||
@@ -85,7 +86,7 @@ func Format(signal *Signal, opts ...FormatOptions) string {
|
||||
lines = append(lines, fmt.Sprintf("策略: %s", signal.StrategyCode))
|
||||
}
|
||||
|
||||
eventTime := signal.ParsedEventTime().In(time.Local)
|
||||
eventTime := signal.ParsedEventTime().In(tz.CST)
|
||||
lines = append(lines, fmt.Sprintf("Time: %s", eventTime.Format("2006.01.02 15:04:05")))
|
||||
|
||||
return strings.Join(lines, "\n")
|
||||
|
||||
Reference in New Issue
Block a user