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

时间:2016-08-10 22:48:10

标签: 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 == timeB.Date // This is C# code but I'm looking for something similar in GO
}

应该返回true

2 个答案:

答案 0 :(得分:2)

如果您使用时间套餐中的Truncate function,则可以将其缩短为日期。

因此,使用参数24 * time.Hour截断两次以获取每个参数的日期,并与Equal function进行比较。

timeA, _ := t.Parse("01022006 15:04", "08152016 09:00")
timeB, _ := t.Parse("01022006 15:04", "08152016 07:30")
return timeA.Truncate(24 * time.Hour).Equal(timeB.Truncate(24*time.Hour))

以下是示例:https://play.golang.org/p/39ws4DL2pB

答案 1 :(得分:1)

可以将k格式化为字符串并比较它们,如下例所示。不知道是否有更好的方法。

timeA.Date()
相关问题