GO语言基础教程(183)Go标准库之时间和日期:时间操控术:Go语言标准库time全解析

轻松玩转Go语言时间和日期处理

时间的基础:理解Go的时间概念

在Go语言中,时间是一个64位整数,表示自Unix纪元(1970年1月1日00:00:00 UTC)以来的纳秒数。这个简单的设计使得Go的时间处理既高效又精确。

time包为我们提供了一个数据类型time.Time(作为值使用)以及显示和测量时间和日期的功能函数。

让我们先从最基本的概念开始:

  • Time:代表一个具体的时间点
  • Duration:表示两个时间点之间经过的时间,以纳秒为单位
  • Location:处理时区相关操作

获取当前时间:你的第一个时间操作

在Go中获取当前时间非常简单,只需要调用time.Now()函数:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println("当前时间:", now)
}

运行这段代码,你会看到类似这样的输出:2024-10-31 15:04:05.123456 +0800 CST m=+0.000123456

时间的格式化:让时间说人话

直接打印Time类型的数据虽然信息全面,但往往不是我们需要的格式。这时,时间格式化就派上用场了。

Go独特的格式化方式

与大多数编程语言使用YYYY-MM-DD等约定俗成的格式化字符不同,Go采用了一种独特而直观的方式——使用参考时间进行格式化

Go的文档中这样说明:func (t Time) Format(layout string) string可以根据一个格式化字符串来将一个时间t转换为相应格式的字符串。

关键点:Go使用一个特定的参考时间(2006年1月2日15点04分05秒)来定义格式字符串。

这听起来有点奇怪,但看个例子你就会明白:

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    
    // 预定义的格式
    fmt.Println("RFC822格式:", now.Format(time.RFC822)) // 21 Dec 11 0852 UTC
    
    // 自定义格式
    fmt.Println("自定义格式1:", now.Format("2006-01-02 15:04:05"))
    fmt.Println("自定义格式2:", now.Format("2006年01月02日 15时04分05秒"))
    fmt.Println("自定义格式3:", now.Format("15:04:05 2006/01/02"))
}

常用的格式字符

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值