为了账号安全,请及时绑定邮箱和手机立即绑定

时间戳中的“m”是什么以及如何在没有“m”的情况下获取时间戳?

时间戳中的“m”是什么以及如何在没有“m”的情况下获取时间戳?

Go
慕桂英546537 2023-06-05 19:43:27
在 Go 中,对于 time.Now() 获取尾随m=xx.xxxx...的时间戳, m是什么意思?如何在打印时删除它,或者是否有任何其他方法或函数可以在没有m的情况下获取时间戳例如:- 对于 time.Now() 获取输出 => 2009-11-10 23:00:00 +0000 UTC m=+0.000000001但我需要这样的输出 => 2009-11-10 23:00:00 +0000 UTC
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

我需要这样的输出 => 2009-11-10 23:00:00 +0000 UTC


包车时间

导入“时间”

单调时钟

操作系统提供了一个“挂钟”和一个“单调时钟”,后者受时钟同步变化的影响,而“单调时钟”则不受此影响。一般规则是挂钟用于报时,单调时钟用于测量时间。在此包中,time.Now 返回的时间不是拆分 API,而是包含挂钟读数和单调时钟读数;后来的报时操作使用挂钟读数,但后来的时间测量操作,特别是比较和减法,使用单调时钟读数。

剥离单调时钟读数的规范方法是使用 t = t.Round(0)。

func (Time) 第1.1轮

func (t Time) Round(d Duration) Time

Round 返回将 t 舍入到 d 的最接近倍数的结果(从零时间开始)。中间值的舍入行为是向上舍入。如果 d <= 0,则 Round 返回 t 去除任何单调时钟读数但其他方面保持不变。

func(时间)字符串

func (t Time) String() string

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

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


剥离单调时钟读数的规范方法是使用 t = t.Round(0).

例如,

package main


import (

    "fmt"

    "time"

)


func main() {

    t := time.Now()

    fmt.Println(t)

    fmt.Println(t.Round(0))

}

游乐场: https: //play.golang.org/p/nglDbs9IGdU


输出:


2009-11-10 23:00:00 +0000 UTC m=+0.000000001

2009-11-10 23:00:00 +0000 UTC


查看完整回答
反对 回复 2023-06-05
?
呼唤远方

TA贡献1856条经验 获得超11个赞

所有你需要的是:

    time.Now().Truncate(0)

根据 time.String() 文档

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

time.Truncate() godoc 说:

Truncate 返回将 t 向下舍入为 d 的倍数的结果(从零时间开始)。如果 d <= 0,Truncate 返回 t 去除任何单调时钟读数,但其他方面不变。


查看完整回答
反对 回复 2023-06-05
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

使用时间格式

fmt.Println(time.Now().Format("2006-01-02 15:04:05.999999999 -0700 MST"))


查看完整回答
反对 回复 2023-06-05
  • 3 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信