我有一个要求,比如计算两个日期之间的天数,并通过将周/月添加到日期来计算 future 日期。我使用了 java.util.Calendar;和 java.util.日期。这些没有给出准确的结果,它在夏令时问题上失败了。所以我决定使用 JODA 日历 API。我对 JODA API 很陌生。请任何人提供示例代码来计算以下要求。
1).noOfDays(字符串 currDate, 字符串 tarDate) 2).addMonths(String date, int months) 3).addDays(字符串日期,整数天) 4).futureDate(String date,int week)
谢谢 象头神
最佳答案
0) 将字符串转换为日期使用
DateTimeFormatter
例如,如果您的日期看起来像 "31/12/2012"
DateTimeFormatter dtf = DateTimeFormat.forPattern("dd/MM/yyyy");
DateTime date = dtf.parseDateTime("31/12/2012");
本类(class) ISODateTimeFormat包含基本日期格式的格式化程序。
1) 要计算两个日期之间的天数,请使用方法 Days#daysBetween
例如
DateTime date1 = dtf.parseDateTime("31/12/2012");
DateTime date2 = dtf.parseDateTime("15/11/2012");
int daysbetween = Days.daysBetween(date1, date2);
2) 添加月份到日期使用 DateTime#plusMonths()
DateTime newDate = dtf.parseDateTime("31/12/2012").plusMonths(5);
3) 添加天数到日期使用方法 DateTime#plusDays()
4) 添加星期到日期使用方法 DateTime#plusWeeks()
您也可以使用 LocalDate类而不是 DateTime如果您使用没有时间的日期
关于java - 使用 JODA API 计算夏令时的剩余天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13837075/