dshmkgq558192365 2016-08-05 21:33
浏览 159
已采纳

将UTC字符串转换为时间对象

I have this datetime, or something that looks like it.

2014-11-17 23:02:03 +0000 UTC

I want to convert this to a time object and I've been unable to produce any output from time.Parse apart from:

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

I've tried these layouts:

time.RFC3339
0001-01-01 00:00:00 0000 UTC
2016-10-10
time.UnixDate

And a few more - none have worked.

This is how I'm calling parse :

updatedAt, err := time.Parse(time.UnixDate, updatedAtVar)

How do I create a time object from a string?

  • 写回答

2条回答 默认 最新

  • donglaogu3788 2016-08-05 21:37
    关注

    Most likely you used a wrong layout, and you didn't check the returned error.

    The layout must be this date/time, in the format your input time is:

    Mon Jan 2 15:04:05 -0700 MST 2006
    

    See this working code:

    layout := "2006-01-02 15:04:05 -0700 MST"
    t, err := time.Parse(layout, "2014-11-17 23:02:03 +0000 UTC")
    fmt.Println(t, err)
    

    Output (try it on the Go Playground):

    2014-11-17 23:02:03 +0000 UTC <nil>
    

    EDIT:

    In your question you included a + sign in your input time (as part of the zone offset), but you have error with times of other formats.

    Time.String() uses the following format string:

    "2006-01-02 15:04:05.999999999 -0700 MST"
    

    So either use this to parse the times, or use Time.Format() to produce your string representations where you can specify the layout, so you can use the same layout to parse the time strings.

    2nd round:

    You're including your time strings in URLs. The + sign is a special character in URL encoding: it denotes the space. So the + gets converted to space (and so it vanishes from your time string). Use proper URL encoding! Check out the net/url package, and this example.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器