Parsing 如何在Go中将一个持续时间字符串解析为时间或持续时间对象?

Parsing 如何在Go中将一个持续时间字符串解析为时间或持续时间对象?,parsing,go,time,Parsing,Go,Time,如何将一个字符串(如下面的“time-appeased:00:00:02”)解析为go-duration对象或从中获取小时/分钟/秒 谢谢 您可以使用Sscanf解析字符串,然后将结果转换为持续时间: var h,m,s int fmt.Sscanf("time elapsed: 00:00:02","time elapsed: %d:%d:%d",&h,&m,&s) dur:=time.Duration(h)*time.Hour+time.Duration(m)*tim

如何将一个字符串(如下面的“time-appeased:00:00:02”)解析为go-duration对象或从中获取小时/分钟/秒


谢谢

您可以使用
Sscanf
解析字符串,然后将结果转换为持续时间:

var h,m,s int
fmt.Sscanf("time elapsed: 00:00:02","time elapsed: %d:%d:%d",&h,&m,&s)
dur:=time.Duration(h)*time.Hour+time.Duration(m)*time.Minute+time.Duration(s)*time.Second

解析足够灵活,可以考虑固定的prefixes@oakad,OP需要持续时间,而不是时间。