繁体   English   中英

使用Joda知道时间何时超过特定点

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM