📜  如何比较 Golang 中的时间?(1)

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

如何比较 Golang 中的时间?

在 Golang 中,我们有多种方式来比较时间。比较时间通常有两个主要方面:相等和大小。

比较时间是否相等

对于判断两个时间是否相等,我们可以使用 time.Equal 函数。

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    later := now.Add(5 * time.Minute)

    fmt.Println(now.Equal(now))        // true
    fmt.Println(now.Equal(later))      // false
    fmt.Println(later.Equal(later))    // true
}
比较时间大小

对于比较两个时间的大小,我们可以使用 <><=>===!= 等符号。需要注意的是,只有 time.Time 类型支持这些操作符。

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    later := now.Add(5 * time.Minute)

    fmt.Println(now.Before(later))    // true
    fmt.Println(now.After(later))     // false
    fmt.Println(now.Equal(later))     // false
}
时间格式化

对于时间输出,我们一般需要进行格式化。我们可以使用 time.Format 函数指定输出的格式。

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()

    fmt.Println(now.Format("2006-01-02 15:04:05"))    // 2022-05-23 11:23:45
}

需要注意的是,这里格式化的字符串使用的是参考时间 2006-01-02 15:04:05

在 Golang 中,时间的比较和格式化是非常常见的操作。掌握这些操作,有助于我们更好地处理时间相关的业务需求。