问题描述
我正在尝试使用Joda库,因为Java本机方法的计数周期令人头疼,而且我的所有尝试都给出了不准确的结果
I'm trying to use Joda library since count periods with Java native methods is a pain in the neck and all my attempts give unprecise results
我看过这个样本
int n = Days.daysBetween(start.toLocalDate(), end.toLocalDate()).getDays();
由于我所有的班级都管理GregorianCalendar,因此我需要一种计算支持GregorianCalendar的天数的方法,例如
since all my classes manage GregorianCalendar, I need that method that counts the days support GregorianCalendar, something like
public int countDays(GregorianCalendar start, GregorianCalendar end){
//convert to joda start and end
...
return Days.daysBetween(start.toLocalDate(), end.toLocalDate()).getDays();
}
所以我的问题是:如何将GregorianCalendar
对象转换和重新转换为Joda管理的对象而没有副作用?
So my question:How to convert and reconvert GregorianCalendar
object to the object managed by Joda without side effects?
推荐答案
使用带有Object
的DateTime
构造函数,该构造函数可以"包括ReadableInstant,字符串,日历和日期."它还特别提到了GregorianCalendar
Use the DateTime
constructor that takes an Object
, which can "include ReadableInstant, String, Calendar and Date." It specifically mentions GregorianCalendar
, as well.
public int countDays(GregorianCalendar gregStart, GregorianCalendar gregEnd) {
DateTime start = new DateTime(gregStart);
DateTime end = new DateTime(gregEnd);
return Days.daysBetween(start, end).getDays();
}
这篇关于如何在Joda中使用JDK GregorianCalendar对象日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!