【问题标题】:How to suppress date when printing elapsed time打印经过时间时如何抑制日期
【发布时间】:2019-10-26 18:32:13
【问题描述】:

我有以下用于捕获经过时间的 Go 代码:

import (
 "time"
)

start := time.Now()
...
end := time.Since(start)
log.Printf("Elapsed Time:  %s", end)

其输出为:

2019/10/26 13:22:53 Elapsed Time :  41.867µs

我希望输出简单:

Elapsed Time :  41.867µs

不确定如何抑制时间包默认数据/时钟时间输出。

【问题讨论】:

  • Cerise 答案的替代方法是使用fmt 而不是log
  • 知道如何强制输出始终以毫秒而不是微秒的形式表达吗?即使挂墙时间是几分钟的长度,我也希望时间纯粹以毫秒为单位。
  • 如何打印 time.Duration 由 String 方法实现,您无法更改。但是,您可以做的是使用%d 动词并将持续时间除以time.Millisecond。 (play.golang.com/p/TFJhBeDA8hk)

标签: datetime go time gofmt


【解决方案1】:

要在没有日期和时间的情况下记录,请清除日期和时间标志:

log.SetFlags(log.Flags() &^ (log.Ldate | log.Ltime))

因为默认标志是(log.Ldate | log.Ltime),所以以下也可以:

log.SetFlags(0)

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2011-02-24
    • 2013-08-03
    • 1970-01-01
    相关资源
    最近更新 更多