Time 如何使用yyyyMMddHHmmss格式格式化当前时间?

Time 如何使用yyyyMMddHHmmss格式格式化当前时间?,time,go,format,timestamp,Time,Go,Format,Timestamp,我正在尝试使用此格式设置当前时间的格式yyyyMMddHHmmss t := time.Now() fmt.Println(t.Format("yyyyMMddHHmmss")) 这就是输出: yyyyMMddHHmmss 有什么建议吗?戈朗的时间包中有一些方法可能值得一看 func(时间)格式 func(t时间)格式(布局字符串)字符串 Format返回根据布局格式化的时间值的文本表示形式,布局通过显示参考时间 2006年1月2日星期一15:04:05-0700 MST 如果它是值,则将显

我正在尝试使用此格式设置当前时间的格式
yyyyMMddHHmmss

t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
这就是输出:

yyyyMMddHHmmss

有什么建议吗?

戈朗的时间包中有一些方法可能值得一看

func(时间)格式

func(t时间)格式(布局字符串)字符串 Format返回根据布局格式化的时间值的文本表示形式,布局通过显示参考时间

2006年1月2日星期一15:04:05-0700 MST 如果它是值,则将显示;它作为所需输出的示例。然后,相同的显示规则将应用于时间值。预定义的布局ANSIC、UnixDate、RFC3339和其他描述了参考时间的标准和方便表示。有关参考时间的格式和定义的更多信息,请参阅ANSIC和本软件包定义的其他常量的文档

来源()

我还发现了一个定义布局的示例()

使用

as Go使用以下常量格式化日期,请参阅


当你找到“golang current time format”(golang当前时间格式)时,这个问题会出现在谷歌搜索的顶部。因此,对于所有想使用其他格式的人,请记住,你可以随时拨打:

t := time.Now()

t.Year()

t.Month()

t.Day()

t.Hour()

t.Minute()

t.Second()
例如,要将当前日期时间设置为“YYYY-MM-DDTHH:MM:SS”(例如2019-01-22T12:40:55),您可以将以下方法用于fmt.Sprintf:

t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
        t.Year(), t.Month(), t.Day(),
        t.Hour(), t.Minute(), t.Second())
一如既往,请记住,文档是学习的最佳来源:

给出:

>> 2014-11-12 11:45:26.371 +0000 UTC

实际上,golang格式非常奇怪。为什么不使用yyyymmddHHiiss样式,但使用“2006/01/02/15/04/05”,我不明白布局字符串是时间戳(Jan 2 15:04:05 2006 MST)的表示形式的真正原因。记住此值的一个简单方法是,按此顺序显示时,它包含值(与上面的元素对齐):1 2 3 4 5 6-7来自美国以外的人的记忆技巧:想象一下你在2006年1月2日15:04后5秒在做什么,但想象一下它发生在布基纳法索(UTC-7)。下次你需要格式化日期时,只需记住这个特定事件(!)所以我要记住的是,把日期按月-年-年顺序排列,然后把时间放在中间,然后把时区放在一年之后,它变得非常容易记住。整洁。任何人都有记忆记忆这个助记符的顺序……?凯文同意你的看法。我甚至被它惹恼了。“这种方式完全可以理解,也很容易记住。看,那到底是什么--“20060102150405”?他们到底在想什么?下面是一个关于日期格式工作原理的示例。这既是将字符串转换为时间,也是以特定格式打印时间。谢谢你的例子,你做过类似的事情吗
t := time.Now()

t.Year()

t.Month()

t.Day()

t.Hour()

t.Minute()

t.Second()
t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
        t.Year(), t.Month(), t.Day(),
        t.Hour(), t.Minute(), t.Second())
import("time")

layout := "2006-01-02T15:04:05.000Z"
str := "2014-11-12T11:45:26.371Z"
t, err := time.Parse(layout, str)
if err != nil {
    fmt.Println(err)
}
fmt.Println(t)
>> 2014-11-12 11:45:26.371 +0000 UTC