登录
首页 >  Golang >  Go问答

解析股票行情:使用日期时间和计算经过的时间

来源:stackoverflow

时间:2024-02-11 11:09:21 136浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《解析股票行情:使用日期时间和计算经过的时间》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我想从 ticker.C 格式的 string (通过网络)获取日期时间并将其解析为 Time 对象。 ticker.C 看起来像 2023-01-03 17:24:13.986722973 +0100 CET m=+1.002332450。它可能必须删除 m=+1.002332450 经过的时间,因为我没有看到将其保留在 Time 对象中的方法。

此外,有没有办法从 Time 对象中获取格式字符串?类似于 mytime.GetFormat()


正确答案


时间的 stringer 格式记录在此处,https://pkg。 go.dev/[电子邮件受保护]#time.string

字符串返回使用格式字符串格式化的时间

"2006-01-02 15:04:05.999999999 -0700 mst"

如果时间具有单调时钟读数,则返回的字符串包括最后一个字段“m=±”,其中值是格式化为十进制秒数的单调时钟读数。

返回的字符串用于调试;为了获得稳定的序列化表示,请使用 t.marshaltext、t.marshalbinary 或 t.format 以及显式格式字符串。

这表明您不应尝试使用该值,而应依赖于正确编组(或格式化)的字符串。

未提及/建议,time.marshaljson 是一个选项:

marshaljson 实现 json.marshaler 接口。时间是 rfc 3339 格式的带引号的字符串,如果存在,则添加亚秒精度。

发送方和接收方无需执行任何特殊工作即可将 time.time 值编码为 json,然后再次解码:

type wiretick struct {
    tick time.time `json:"tick"`
}

这是一个使用该结构对线路上的股票代码进行编码和解码的小示例,https: //go.dev/play/p/fx73q8-kvfa,它产生如下输出:

sent json-encoded tick on wire: {"tick":"2009-11-10t23:00:01z"}
received tick from wire:        {2009-11-10 23:00:01 +0000 utc}
sent json-encoded tick on wire: {"tick":"2009-11-10t23:00:02z"}
received tick from wire:        {2009-11-10 23:00:02 +0000 utc}
...

您可以修改通过线路发送的值,或者请其他人修改它以使其正确吗?

如果没有,这个应该可以:

const stringerlayout = "2006-01-02 15:04:05.999999999 -0700 mst"

timestr := "2009-11-10 23:00:10 +0000 utc m=+10.000000001"
tickstr := timestr[:strings.index(timestr, "m=")-1]
tick, _ := time.parse(stringerlayout, tickstr)

fmt.printf("received from wire: \t %q\n", timestr)
fmt.printf("chopped off monotonic: \t %q\n", tickstr)
fmt.printf("tick is: \t\t %v\n", tick)
Received from wire:      "2009-11-10 23:00:10 +0000 UTC m=+10.000000001"
Chopped off monotonic:   "2009-11-10 23:00:10 +0000 UTC"
Tick is:                 2009-11-10 23:00:10 +0000 UTC

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《解析股票行情:使用日期时间和计算经过的时间》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>