gpt4 book ai didi

java - 使用 Joda 了解时间何时超过某个点

转载 作者:行者123 更新时间:2023-12-01 14:05:27 25 4
gpt4 key购买 nike

我正在开发一个 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

最佳答案

使用PeriodPeriodType.hours()的区别

  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

关于java - 使用 Joda 了解时间何时超过某个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com