[英]Know when time has passed beyond a certain point, using Joda
我正在开发一个Android应用程序,该程序可从服务器获取时间,我想知道的是时间过去了。
我目前正在使用Joda Java库尝试此操作,但未成功。
我已经试过了:
public void countTime(){
DateTime now = DateTime.now();
DateTime then = bus.getArrivalDateTime();
int i = now.compareTo(then);
Log.w(LOGTAG, "Difference " + i + " " + now.toString() + " " + then.toString());
if (i > 0) {
Log.w(LOGTAG, "BEFORE");
} else {
Log.w(LOGTAG, "AFTER");
}
}
但是now.compareTo(then)始终返回1,即使时间已经过去。 不管是否经过了3个小时,compareTo仍显示1。
我也尝试过isBefore和isBeforeNow方法,但无法获得正确的答案。 日志目前显示以下内容:
Difference 1 2013-09-22T12:24:23.791+02:00 2013-01-22T12:11:48.000+01:00
在PeriodType.hours()
使用Period
差异
DateTime da = new DateTime("2013-09-22T12:24:23.791+02:00");
DateTime db = new DateTime("2013-01-22T12:11:48.000+01:00");
Period difference = new Period(db, da, PeriodType.hours());
int hour = difference.getHours();
输出: 5831
它也会照顾不同的TZ
具有joda-time-2.1
先进的Android
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.