donglv6747 2016-01-27 16:16
浏览 525
已采纳

仅将日期部分与时间进行比较.Golang中的时间

Assume the following two dates. The date is the same, however the time is different.

t1, _ := time.Parse("2006-01-02 15:04:05", "2016-01-01 12:12:12.0")
t2, _ := time.Parse("2006-01-02 15:04:05", "2016-01-01 18:19:20.0")

I would compare them using Format(), but am not sure if that's the best way, especially when different timezones are at play.

if t1.Format("2006-01-02") == t2.Format("2006-01-02") {
    // dates are equal, don't care about time.
}

Is this a good approach, or am I missing something?

  • 写回答

1条回答 默认 最新

  • doujiaci7976 2016-01-27 16:27
    关注

    You can either truncate the time to the day:

    t1.Truncate(24*time.Hour).Equal(t2.Truncate(24*time.Hour))
    

    Or you can compare the year and day separately:

    t1.Year() == t2.Year() && t1.YearDay() == t2.YearDay()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的