如何创建基于日期的时间戳

我需要编写一个以秒为单位的时间戳并将其转换为基于日期的时间戳的函数。例如,时间戳1584875408(22/03/2020 11:10am) 和1584872571(22/03/2020 10:22am) 都应转换为1584835200(22/03/2020 12:00am)。


我想出了以下功能。除了它不起作用之外,我认为还有一种更聪明的方法可以实现所描述的行为。


func formatTimestamp(t int64) (int64, error) {

    timestamp := time.Unix(t, 0)


    day := timestamp.Format("2006-01-02")


    formatted, err := time.Parse(day, "2006-01-02")

    if err != nil {

        return 0, err

    }


    return formatted.Unix(), nil

}


func main() {

    t, _ := formatTimestamp(1584873099)

    fmt.Println(t)

}


萧十郎
浏览 117回答 1
1回答

胡子哥哥

问题是你把论点弄混了time.Parse。它应该是:formatted, err := time.Parse("2006-01-02", day)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go