如何设置时间dd-MMM-yyyy HH:mm:ss in golang?

时间:2016-03-03 11:57:21

标签: parsing datetime time go

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小时格式。

2 个答案:

答案 0 :(得分:6)

您的布局不正确,它应显示参考时间如何以您想要的格式表示,参考时间为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),时间始终设置为常量。

答案 1 :(得分:1)

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

请参阅Time package constants

  

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

     

Mon Jan 2 15:04:05 MST 2006

     

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

     

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