Date Go:仅考虑日期,比较两个时间结构

Date Go:仅考虑日期,比较两个时间结构,date,go,time,Date,Go,Time,我正在寻找一种在围棋中实现这一点的干净方法: package main import( "fmt" t "time" ) func isSameDate() bool { timeA, err := t.Parse("01022006 15:04", "08152016 09:00") timeB, err := t.Parse("01022006 15:04", "08152016 07:30") return timeA.Date == tim

我正在寻找一种在围棋中实现这一点的干净方法:

package main 

import(
    "fmt"
    t "time"
)

func isSameDate() bool {
    timeA, err := t.Parse("01022006 15:04", "08152016 09:00")
    timeB, err := t.Parse("01022006 15:04", "08152016 07:30")

    return timeA.Date == timeB.Date // This is C# code but I'm looking for something similar in GO
}

如果返回true

则可以调用
timeA.Date()
将其格式化为字符串,并像下面的示例中那样进行比较。不知道有没有更好的办法

func isSameDate() bool {
    timeA, _ := t.Parse("01022006 15:04", "08152016 09:00")
    timeB, _ := t.Parse("01022006 15:04", "08152016 07:30")

    ay, am, ad := timeA.Date()
    a := fmt.Sprintf("%d%d%d", ay, am, ad)

    by, bm, bd := timeB.Date()
    b := fmt.Sprintf("%d%d%d", by, bm, bd)
    return a == b
}

可以调用
timeA.Date()。不知道有没有更好的办法

func isSameDate() bool {
    timeA, _ := t.Parse("01022006 15:04", "08152016 09:00")
    timeB, _ := t.Parse("01022006 15:04", "08152016 07:30")

    ay, am, ad := timeA.Date()
    a := fmt.Sprintf("%d%d%d", ay, am, ad)

    by, bm, bd := timeB.Date()
    b := fmt.Sprintf("%d%d%d", by, bm, bd)
    return a == b
}
如果你使用时间包中的时间,你可以把它缩短到日期

因此,使用参数
24*time.Hour
截短这两个时间,以获取每个时间的日期并与时间进行比较

以下是示例:

如果您使用时间包中的,则可以将其缩减到日期

因此,使用参数
24*time.Hour
截短这两个时间,以获取每个时间的日期并与时间进行比较


以下是示例:

@RAFJR看看上面的Verrans答案。“这是正确的方法。”拉夫看看上面维兰斯的回答。这是正确的方法。