【问题标题】:convert string to time and parse in golang将字符串转换为时间并在golang中解析
【发布时间】:2016-11-02 19:31:23
【问题描述】:

我正在从文件中读取时间戳,并将值分配给t

t := "2016-11-02 19:23:05.503705739 +0000 UTC"

当我尝试解析字符串时:

time, err := time.Parse("2016-11-02 19:18:57.149197306 +0000 UTC", t)

结果是:

0001-01-01 00:00:00 +0000 UTC

但我预期的结果是:

"2016-11-02 19:18:57.149197306 +0000 UTC"?

请指教。

【问题讨论】:

标签: go


【解决方案1】:

您没有正确地向Parse 提供layout 参数。您应该以给定格式使用Mon Jan 2 15:04:05 MST 2006(这是一个神奇的值,您可以按照您想要的格式创建一个字符串,但使用该日期),所以在您的情况下,它将是2006-01-02 15:04:05.000000000 +0000 UTC 加上偏移量我不知道 MST 是什么。

【讨论】:

  • 这是我试图理解的关于格式字符串的内容。让我试一试,我很快就会回来
  • @Mike 听起来不错。 time 包的这方面有点奇怪,一旦你习惯了它就很容易使用它。我相信您的偏移量将是-7 btw。
  • 还是报错,我已经把代码上传到这里了:play.golang.org/p/SPIMTX2jL4
  • @Mike 那是因为您的 layout 参数仍然具有 2016 年的日期,而它应该基于 2006 年 1 月 2 日的那个时代。这是一个有效的修改示例; play.golang.org/p/QRrel6YSkC
  • @Mike 为此,您的目标是查看输入时间的格式,然后采用该时期(2006 年 1 月 2 日),并以您输入时间的格式表示。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
  • 2019-05-03
  • 2017-01-19
相关资源
最近更新 更多