日期格式显示错误的日期

时间:2014-11-29 21:16:47

标签: go

我试图格式化这样的日期:[daynumber] [monthname] [fullear]

package main

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.Format("1 January 2014"))
}

然而,这打印出" 11月11日10110"而不是正确的日期" 2014年11月29日"。

使用Time.Format的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

尝试:

fmt.Println(t.Format("2 January 2006"))

来自Time.Format()

  

Format返回根据布局格式化的时间值的文本表示,通过显示参考时间来定义格式,

Mon Jan 2 15:04:05 -0700 MST 2006

文章“Parsing and formatting date/time in Go ”补充道:

  

使用助记符而不是模糊的格式代码我认为这反映了Go的开发人员的实用主义以及他们专注于创建一种使用户更高效的语言

具有讽刺意味的是,我无法记住该格式模板的确切值和顺序 (特别是我一直混淆的日期和月份,习惯于dd-mm惯例,而不是mm-dd)。