📜  Golang 中的 time.Time.Add()函数示例(1)

📅  最后修改于: 2023-12-03 15:15:22.887000             🧑  作者: Mango

Golang 中的 time.Time.Add() 函数

在 Golang 中,time 包提供了一系列用于处理时间的函数和类型。其中,time.Time 类型表示一个时间。

Add() 函数是 time.Time 类型提供的一个方法,用于将一个时间加上一个时间段(duration)得到一个新的时间。

语法

Add(d Duration) Time

其中,d Duration 表示要加上的时间段。

示例

下面是一个示例代码,演示如何使用 Add() 函数。

package main

import (
    "fmt"
    "time"
)

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

    // 加上一分钟
    oneMinuteLater := now.Add(time.Minute)

    // 加上一小时
    oneHourLater := now.Add(1 * time.Hour)

    // 加上一天
    oneDayLater := now.AddDate(0, 0, 1) // 使用 AddDate() 函数

    fmt.Println("当前时间:", now)
    fmt.Println("一分钟后:", oneMinuteLater)
    fmt.Println("一小时后:", oneHourLater)
    fmt.Println("一天后:", oneDayLater)
}

上面代码输出的结果类似于:

当前时间: 2021-10-19 11:42:49.187599 +0800 CST m=+0.000103100
一分钟后: 2021-10-19 11:43:49.187599 +0800 CST m=+60.000102900
一小时后: 2021-10-19 12:42:49.187599 +0800 CST m=+3600.000103100
一天后: 2021-10-20 11:42:49.187599 +0800 CST

上面代码中,首先获取了当前的时间 now,然后使用 Add() 函数加上一分钟、一小时和一天得到了三个新的时间点。

需要注意的是,Golang 中的时间是可以相减的,得到一个时间段。例如:

package main

import (
    "fmt"
    "time"
)

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

    // 获取昨天的时间
    yesterday := now.AddDate(0, 0, -1)

    // 计算两个时间点之间的时间段
    duration := now.Sub(yesterday)

    fmt.Printf("现在时间:%v\n", now)
    fmt.Printf("昨天时间:%v\n", yesterday)
    fmt.Printf("两个时间点之间的时间间隔:%v\n", duration)
}

上面代码输出的结果类似于:

现在时间:2021-10-19 11:57:14.196355 +0800 CST m=+0.000104300
昨天时间:2021-10-18 11:57:14.196362 +0800 CST
两个时间点之间的时间间隔:24h0m0s

上面代码中,首先获取了当前时间 now,然后获取昨天的时间 yesterday,最后使用 Sub() 函数计算这两个时间之间的时间段 duration