我想指出一个可能不是问题的问题,但让我带你走过我的榜样..
我想将日期与另一个日期进行比较,没有小时,分钟,秒等。
一个日期现在没有hh mm ss
//Now Date
DateTime now = DateTime.now(TimeZone.getDefault()).getStartOfDay();
所以另一个日期来自一个格式为" YYYY-MM-DD"
的Feed所以我用这种格式创建日期 DateTime date_to_compare = new DateTime(date_strStartDate);
如果date_to_compare与今天同日,
它不等于现在的日期。
因为date_to_compare具有小时,分钟,秒等的空值。
所以最后,即使它的日期相同,也永远不会返回。
if (now .gteq(date_to_compare ) && now .lteq(date_to_compare ) ){
return true;
}
为了实现这一点,我接受了这个想法。
DateTime date_to_compare = new DateTime(date_strStartDate+" 00:00:00.0000");
我明确地在日期字符串中添加小时分钟,以便为构造函数提供一些值。 然后前面的语句最终返回true。
但是这让我头疼了4天,所以这个问题也发布到date4j github频道。 https://github.com/IanDarwin/date4j/issues/1
我也在这里发帖,所以它也可以节省一些人的日子!
答案 0 :(得分:0)
好先生约翰(https://github.com/johanley)
通过向我指出已经定义的函数来回答它,该函数没有考虑DateTime中的TIME 答案也在这里 https://github.com/johanley/date4j/issues/4#issuecomment-204965719
嗨,在这种情况下,您应该使用'isSameDayAs'方法:
约翰