【问题标题】:How to set time to dd-MMM-yyyy HH:mm:ss in go?如何将时间设置为 dd-MMM-yyyy HH:mm:ss in go?
【发布时间】:2016-03-03 11:57:21
【问题描述】:

https://play.golang.org/p/82QgBdoI2G

package main

import "fmt"
import "time"

func main() {
    fmt.Println(time.Now().Format("01-JAN-2006 15:04:00"))
}

如果今天的日期时间是2016-03-03 08:00:00 +0000UTC,则输出应该是这样的
输出:03-MAR-2016 08:00:00
时间应为 24 小时制。

【问题讨论】:

  • 顺便说一句,在操场上的时间总是 2009-11-10 23:00:00 UTC。

标签: parsing datetime time go


【解决方案1】:

您的布局不正确,它应该显示参考时间如何以您想要的格式表示,其中参考时间是Mon Jan 2 15:04:05 -0700 MST 2006

你的布局应该是:

"02-Jan-2006 15:04:05"

注意秒部分的05。并且由于您将时间指定为15,即 24 小时格式。 303 用于 12 小时格式。

fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))

对我来说,它会打印:

03-Mar-2016 13:03:10

另请注意 Jan 几个月,JAN 无法识别。如果你想要大写月份,你可以使用strings.ToUpper():

fmt.Println(strings.ToUpper(time.Now().Format("02-Mar-2006 15:04:05")))

输出:

03-MAR-2016 13:03:10

另请注意,在 Go Playground 上,当您的应用程序启动时,时间始终设置为一个常数(即2009-11-10 23:00:00 +0000 UTC)。

【讨论】:

    【解决方案2】:
    fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))
    

    Time package constants

    布局中使用的参考时间为具体时间:

    2006 年 1 月 2 日星期一 15:04:05 MST

    这是 Unix 时间 1136239445。由于 MST 是 GMT-0700,所以参考时间可以认为是

    01/02 03:04:05PM '06 -0700

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 2020-03-07
      相关资源
      最近更新 更多