好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
JAVA中如何比较两个没有时间的日期? 关闭 返回上一级  

JAVA中如何比较两个没有时间的日期?
+ 查看更多

发布日期:2018-03-08 16:28
分类:JAVA
浏览次数:74
我想要有一个compareTo方法来忽略java.util.Data的时间部分。我想有很多方法来解决这个问题。最简单的方法是什么?

回答

我比较偏爱用Joda Time ,这会使问题难以置信的容易:
DateTime first = ...;
DateTime second = ...;

LocalDate firstDate = first.toLocalDate();
LocalDate secondDate = second.toLocalDate();

return firstDate.compareTo(secondDate);
注意:如注释,如果你使用DateTimeComparator.getDateOnlyInstance() 它甚至更简单:)
// TODO: consider extracting the comparator to a field.
return DateTimeComparator.getDateOnlyInstance().compare(first, second);
"使用Joda Time"是几乎所有涉及java.util.Date或java.util.Calendar的SO问题的基础。这是一个完全优秀的API。如果你做任何带有日期/时间的重要事情,如果可以的话你真的应该使用它。
如果你被强制要求使用内置API,你应该使用适当的日期和适当的时区创建一个日历实例。然后,你可以将每个日历中的每个字段的小时、分钟、秒和毫秒设置为0,并且比较生成的时间。绝对差和Joda解全面比较:) 时区部分很重要:java.util.Date始终基于UTC。在大多数情况下,我对某个特定时区的日期感兴趣。这本身会迫使你使用日历或Joda Time (除非你想要自己考虑时区,否则我不推荐。)
上一篇Java:如何从System.console()得到输入?
JAVA中哪个HTML解析器是最好的?下一篇
下一篇JAVA中哪个HTML解析器是最好的?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号