You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解析ticker.C格式时间字符串并获取Time对象格式方法

解析ticker.C格式字符串为Time对象 & 格式信息相关问题

一、解析字符串并丢弃m=+xxx部分

ticker.C输出的字符串末尾m=+1.002332450是进程启动后的相对时间偏移,Time对象无需保留这部分,你可以先截断字符串再解析:

  1. 清理输入字符串:用strings.SplitN按" m="分割,取前半段有效内容
  2. 用Go标准的参考时间布局匹配格式,完成解析

示例代码:

import (
	"strings"
	"time"
)

func parseTickerTime(tickerStr string) (time.Time, error) {
	// 移除末尾的相对时间部分
	cleaned := strings.SplitN(tickerStr, " m=", 2)[0]
	// 匹配ticker.C输出的时间格式
	layout := "2006-01-02 15:04:05.999999999 -0700 MST"
	return time.Parse(layout, cleaned)
}

二、Time对象能否获取格式字符串?

不行。time.Time类型仅存储时间点的核心信息(纳秒级时间戳+时区),不会保留任何格式化相关的元数据——它只代表「某个具体时间」,不记得自己是从什么格式的字符串解析而来的。

如果需要复用格式,你得自己单独保存对应的layout字符串,比如把Time对象和格式字符串封装到自定义结构体中:

type FormattedTime struct {
	Time   time.Time
	Layout string
}

// 自定义方法获取格式
func (ft FormattedTime) GetFormat() string {
	return ft.Layout
}

内容的提问来源于stack exchange,提问作者atx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 16:10:31