首页 > 解决方案 > Go 中从“2020-05-21T23:22:14.45321Z”到“2020 年 5 月 21 日”的格式化时间

问题描述

我试图以所需的格式获取时间,如下所示。下面的代码似乎不起作用。如果我使用 RFC3339 布局,情况也是如此。任何帮助表示赞赏。

stamp, err := time.Parse("2006-01-02T15:04:05.000000Z", "2020-05-21T23:22:14.45321Z")
log.Println(stamp.Format("September 01, 2020"))

标签: go

解决方案


您需要遵循文档中提到的参考时间戳;否则,它将无法正常工作。阅读:https ://golang.org/pkg/time/#pkg-constants

以下代码应该会有所帮助:

package main

import (
    "fmt"
    "os"
    "time"
)

func main() {
    // Parse the time of layout: RFC3339
    t, err := time.Parse(time.RFC3339, "2020-05-21T23:22:14.45321Z")
    if err != nil {
        panic(err)
    }
    // Reference for layout: Mon Jan 2 15:04:05 -0700 MST 2006
    // Format: Jan 02, 2006
    fmt.Fprintf(os.Stdout, "%s\n", t.Format("Jan 02, 2006"))
}

推荐阅读