golang日期格式化之奥秘

go 提供的这个 layout 对算法的实现非常科学高效,而且很规律。下面我们详细分解下。 所有的值表示都唯一对应一个时间部分。并且涵盖了很多格式组合。

月份 1,01,Jan,January
日  2,02,_2
时  3,03,15,PM,pm,AM,am
分  4,04
秒  5,05
年  06,2006
时区 -07,-0700,Z0700,Z07:00,-07:00,MST
周几 Mon,Monday

格式化参考日期必须是2006-01-02 15:04:05(这里的15可以换成3或03,代表12小时制)这个时间是固定的,换做其他的日期就失效了。
2006是go语言在google内部谋划的日子,后面依次是1、2、15(3)、4、5的顺序表示,你可以这么记。

//格式化参考日期必须是2006-01-02 15:04:05(这里的15可以换成3或03,代表12小时制)这个时间是固定的,换做其他的日期就失效了。
// 2006是go语言在google内部谋划的日子,后面依次是1、2、15(3)、4、5的顺序表示,你可以这么记。
func main() {
	//格式化日期都会使用Format函数:
	now := time.Now().Format("2006-01-02 15:04:05")
	hour := time.Now().Format("15")
	minute := time.Now().Format("04")
	second := time.Now().Format("05")
	fmt.Printf("现在是%s点%s分%s秒\n", hour, minute, second) //现在是10点45分04秒
	fmt.Println(now)                                   //2022-05-05 10:45:04

	//骚操作:自动替换当前的月、小时等
	word1 := time.Now().Format("现在是1月份了")
	word2 := time.Now().Format("现在是Jan月份了")
	word3 := time.Now().Format("现在是15点了")
	fmt.Println(word1) //现在是5月份了
	fmt.Println(word2) //现在是May月份了
	fmt.Println(word3) //现在是10点了

	//操作时间
	later_hour := time.Now().Add(time.Hour).Format("2006-01-02 15:04:05") // 当前时间加1小时后的时间并格式化
	later_minute := time.Now().Add(time.Minute * 10)                      // 当前时间加10分钟后的时间
	fmt.Printf("当前时间加1小时后的时间:%s\n", later_hour)
	fmt.Println(later_minute)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值