go语言中time日期时间格式化Format使用详解 2006-01-02 15:04:05

go语言中有个很特别的时间格式format,在我们使用 Format格式化时间的时候, format的参数格式字符串必须是 2006-01-02 15:04:05 才能格式出正确的时间来, 这是个很特别的字符串, 通过分析拆分后可以得出的每个代表时间和日期的数字都不重复。

这里的 2006-01-02 15:04:05 这里的数字可以对年月日时分秒分别拆分为一个独立的数字格式 可以看出拆分后的数字都是独立的 都分别代表对应位置的日期 2006表示4位年份, 06表示2位年份, 01表示2位月份,1表示不带0的月份, 02表示2位日期,2表示不带0的日期, 15表示小时, 04表示分钟,4表示不带0的分钟, 05表示秒, 5表示不带0的秒

go time日期时间格式实例:

Go 复制代码
package main

import (
	"fmt"
	"time"
)
func main() {
    // 获取当前时间
    now := time.Now()

    // time.Now()返回的类型是 time.Time 详情参考 ~/.gvm/go/src/time/time.go
	fmt.Printf("%d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second())
	// 2024-5-5 10:41:37

	// 注意这里的Format()
	// func (t time.Time) Format(layout string) string
	// 这里的layout必须是这个时间 2006-01-02 15:04:05 其组合格式可以修改,但是数字不可修改
	fmt.Printf("%v\n", now.Format("2006-01-02 15:04:05")) // 为什么是这个时间(2006-01-02 15:04:05),据说这个时间是go语言想法诞生的时间
	// 2024-05-05 10:45:39

	fmt.Printf("%v\n", now.Format("06")) // 年份: 06表示2位年份 如:24, 2006表示4位年份,如 2024
	fmt.Printf("%v\n", now.Format("1")) // 当前月份: 1表示 1-12, 如果是01表示 01-12
	fmt.Printf("%v\n", now.Format("05")) // 当前秒: 05表示 01-59 , 如果是5则表示秒 1-59

}
相关推荐
古城小栈5 分钟前
go核武器——pprof 性能分析
golang
武藤一雄5 分钟前
深入理解 C# 中的 sizeof 与非托管类型约束
开发语言·windows·c#·.net·.netcore
好家伙VCC5 分钟前
**发散创新:用 Rust实现数据编织(DataWrangling)的高效流式处理架构**在现
java·开发语言·python·架构·rust
2401_876907529 分钟前
《Python深度学习》
开发语言·python·深度学习
qwehjk200810 分钟前
分布式计算C++库
开发语言·c++·算法
222you10 分钟前
线程池的三个方法,七个参数,四个拒绝策略
java·开发语言
m0_7167652310 分钟前
C++提高编程--仿函数、常用遍历算法(for_each、transform)详解
java·开发语言·c++·经验分享·算法·青少年编程·visual studio
枫叶丹413 分钟前
【HarmonyOS 6.0】ArkData 应用间配置共享:构建跨应用协作新范式
开发语言·华为·harmonyos
mounter62515 分钟前
【LSF/MM内核前沿】Linux 内存回收推倒重来?解析 MGLRU 与传统 LRU 的“统一之战”
linux·运维·服务器·网络·内核·内存回收
寻寻觅觅☆16 分钟前
东华OJ-基础题-59-倒数数列(C++)
开发语言·c++·算法