简介
time包是Go语言标准库中的一个包,它提供了时间处理相关函数。time包中定义了一个名为Time的类型,表示一个日期和时间值。
下面是一些常用的time包中的函数:
package main
import (
"fmt"
"time"
)
func main() {
// 获取当前时间
now := time.Now()
fmt.Println("当前时间:", now)
// 格式化输出时间
fmt.Println("格式化后的时间:", now.Format("2006-01-02 15:04:05"))
// 计算时间差
later := now.Add(time.Hour * 2)
duration := later.Sub(now)
fmt.Println("现在时间和两小时后的时间相差:", duration)
}
上面的代码中,我们使用time.Now()函数获取当前时间,并将其打印输出。然后,我们使用Time.Format()函数将该时间格式化为指定的字符串格式。最后,我们使用Time.Add()函数计算当前时间两小时后的时间,并使用Time.Sub()函数计算它们之间的时间差。
运行结果:
给定两个日期,请编写一个程序,计算它们之间相差的天数,并输出结果。
package main
import (
"fmt"
"time"
)
func main() {
// 定义两个时间
t1, _ := time.Parse("2006-01-02", "2022-03-01")
t2, _ := time.Parse("2006-01-02", "2023-04-08")
// 计算时间差
duration := t2.Sub(t1)
days := int(duration.Hours() / 24)
// 输出结果
fmt.Printf("相差%d天\n", days)
}
在上面的代码中,我们使用time.Parse()函数将两个日期字符串解析为Time类型的值。然后,我们计算它们之间相差的时间差,并通过将时间差的小时数除以24来计算相差的天数。最后,我们打印输出结果。
运行结果:
package main
import (
"fmt"
"time"
)
func main() {
// 定义 Unix 时间戳
timestamp := int64(1649522400)
// 转换为时间对象
t := time.Unix(timestamp, 0)
// 格式化输出时间
fmt.Println(t.Format("2006-01-02 15:04:05"))
}
在上面的代码中,我们定义了一个Unix时间戳,并使用time.Unix()函数将其转换为一个Time类型的值。然后,我们使用Time.Format()函数将该时间按照指定格式进行格式化,并打印输出结果。
运行结果: