【问题标题】:How to parse time with unique format in golang?如何在golang中以独特的格式解析时间?
【发布时间】:2021-11-15 19:22:38
【问题描述】:

我有日期时间,格式为 18/09/21 14.56 来自 excel。我想解析并格式化为不同的格式2006-01-02 hh:mm:ss

可以在 golang 中以 18/09/21 14.56 格式解析时间,然后将其格式化为例如。 2006-01-02 hh:mm:ss

【问题讨论】:

标签: go


【解决方案1】:
func TestTime(t *testing.T) {
    tm, err := time.Parse("06/01/02 15.04", "18/09/21 14.56")
    if err != nil {
        return
    }
    log.Println(tm.Format("2006-01-02 15:04:05"))
}

【讨论】:

  • 纯代码答案并不是特别有用。请添加一些关于此代码如何解决问题的说明。
【解决方案2】:

Golang 为 ParseFormat 使用基于示例的模板。

01   -> month with zero prefix
02   -> day with zero prefix
06   -> year (last two digits)
15   -> hour (24h based)
04   -> minutes with zero prefix
05   -> seconds with zero prefix
2006 -> long year
t, _ := time.Parse("02/01/06 15.04", "18/09/21 14.56")

t.Format("2006-01-02 15:04:05") // 2021-09-18 14:56:00

更多布​​局选项见https://stackoverflow.com/a/69338568/12301864

【讨论】:

    猜你喜欢
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多