dpvhv66448
dpvhv66448
2014-06-30 11:19
浏览 64
已采纳

您如何在旅途中将字符串时间戳转换为我可以显示的UTC日期?

I am trying to display an array of timestamps in human readable form. Array comes from db, and I send it into the template, where the iterations happens.

t.Timestamp is a string, comes from the db

I tried t.TimeStamp = strconv.Atoi(t.TimeStamp) and error came up: multiple-value strconv.Atoi() in single-value context

I don't understand why it does that. If someone could help me figure this out, please? Also if you know a better and quicker way of turning a string timestamp into a UTC date, I would greatly appreciate the help.

Thanks.

图片转代码服务由CSDN问答提供 功能建议

我正在尝试以人类可读的形式显示一组时间戳记。 数组来自db,我将其发送到发生迭代的模板中。

t.Timestamp 是一个字符串,来自db

我尝试了 t.TimeStamp = strconv.Atoi(t.TimeStamp)并出现错误:单值上下文中的多值strconv.Atoi()

我不明白为什么这样做。 如果有人可以帮助我解决这个问题? 此外,如果您知道将字符串时间戳转换为UTC日期的更好,更快捷的方法,我将非常感谢您的帮助。

谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongzhunqiu4841
    dongzhunqiu4841 2014-06-30 11:33
    已采纳

    strconv/#Atoi returns multiple values.

    func Atoi(s string) (i int, err error)
    

    You need to check for the error value.

    ts, ok := strconv.Atoi(t.TimeStamp)
    if ok != nil {
      ts = 0
    }
    

    Speaking of timestamp and db, you can check out the mgo/bson project.
    It has a Timestamp class used in timestamp.go.

    From a int64 timestamp, you can use time.Unix() to get a Time.

    And you can then format that Time.

    t := time.Unix(ts, 0)
    fmt.Println(t.Format("2006-01-02 15:04:05 -0700"))
    
    点赞 评论

相关推荐