在 Go 中比较时间

Compare time in Go

我有一个 table 包含列 created_at 我需要将此列中的时间与现在的时间进行比较,例如:


result := database.DB.Where("code = ?", post.code).First(&post)

if result.CreatedAt < time.Now() {
        // do something
}

我的编辑器出现错误:Invalid operation: result.CreatedAt > time.Now() (the operator > is not defined on Time)

如何检查日期是否过期?

通过使用 time.After or time.Before.

Playground example:

package main

import (
    "fmt"
    "time"
)

func main() {
    created := time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC)
    now := time.Now()
    if created.Before(now) {
        fmt.Println("do something")
    }
}