您好我使用
获取当前系统日期Java.util.Date date = new java.util.Date();
如何检查我的日期是否在日期前一个月
例如,如果今天是2011年5月22日
如何查看日期是否为2011年4月22日?
答案 0 :(得分:2)
您可以使用JodaTime。它的DateTime类有一个minusMonth - 方法。使用它来获取一个月前的日期然后进行比较。有关更多详细信息,请参阅Joda-API。
答案 1 :(得分:1)
Calendar cal1 = Calendar.getInstance();
cal1.setTime(theGivenDate);
Calendar cal2 = Calendar.getInstance();
cal2.add(Calendar.MONTH, -1);
if ( (cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)) &&
(cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH)) &&
(cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH)) ) {
System.out.println("Given date "
+ theGivenDate + " is exactly one month ago from today");
}
答案 2 :(得分:0)
你可以使用Joda DateTime [http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTime.html]。
DateTime有一个方法minusMonths(int months),然后你可以将Joda DateTime转换为java.util.Date
答案 3 :(得分:0)
根据您对“月历”月份的定义,您是否知道许多日期从未成为“今天前一个月”?例如,由于六月只有30天,因此5月31日的情况永远不会成立。
您可能希望将您的定义更改为银行常用的定义,例如计算利息和存款条款:一个月被视为正好30天,与日历日期无关。所以“5月31日之后的一个月”将是6月30日。