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()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写