【发布时间】:2013-09-21 04:20:44
【问题描述】:
在此问题被标记为重复之前,它不是。我知道this question,我尝试使用它的答案,但到目前为止无济于事。
我有某个事件发生的日期,我有 DateTime.now()。如果日期是今天或昨天的日期,我现在想显示“今天”或“昨天”。如果不是(它在过去),则应该简单地打印日期。为此,我想知道 DateTime.now() 和事件发生的 DateTime 之间的天数差异。所以我尝试了这个:
DateTime actionDate = overviewevent.getActionDate();
Log.wtf(TAG, actionDate.toString()); // Prints 2013-09-06T08:47:04.000+01:00
LocalDate localActionDate = actionDate.toLocalDate();
LocalDate localNow = DateTime.now().toLocalDate();
// First try
Log.wtf(TAG, Integer.toString(localActionDate.compareTo(localNow)));
// Second try
Log.wtf(TAG, Integer.toString(DateTimeComparator.getDateOnlyInstance().compare(actionDate, DateTime.now())));
即使 now() 和 actionDate 之间有 10 天,我尝试的这两件事都只是打印“1”。
有人知道我怎样才能知道日期相隔多少天吗?
【问题讨论】:
-
什么是
DateTime?这个类似乎不是 Android API 的一部分。此外,compareTo方法用于比较(更少、更多、相同),而不是用于差异(例如天数)。这就是它打印1的原因。 -
@DanielGabriel - 对不起。 DateTime 来自 org.joda.time.DateTime;
-
好的,谢谢。看看这是否有帮助:stackoverflow.com/questions/3802893/…
标签: java android date datetime jodatime