我在日志文件中有一系列类似秒表的时间戳,格式为hh:mm:ss,例如"00:03:30".我如何在Golang中解析这些时间戳,以便找到两个时间间隔之间的差异?
例如,替换00:03:30并00:03:00应该返回00:00:30或30.
您可以从另一个时间减去一次.
package main
import (
"fmt"
"time"
)
func main() {
t1, err := time.Parse("15:04:05", "03:00:30")
t2, err := time.Parse("15:04:05", "03:00:00")
fmt.Println(err, t1.Sub(t2), t1.Sub(t2).Seconds())
}
Run Code Online (Sandbox Code Playgroud)
工作示例 - https://play.golang.org/p/VegXLBvfnM
更新:如何应对持续时间24:00:00?这样他们就可以手动解析:
func Parse(st string) (int, error) {
var h, m, s int
n, err := fmt.Sscanf(st, "%d:%d:%d", &h, &m, &s)
fmt.Print(n, err)
if err != nil || n != 3 {
return 0, err
}
return h*3600 + m*60 + s, nil
}
Run Code Online (Sandbox Code Playgroud)
https://play.golang.org/p/HHSRHzaGqT
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |