Java 不含JODA的上个月的月末日期
我从请求中得到了一个日期,比如2014年8月15日,如何使用java lang.Calendar计算上一个月的结束日期(即2014年7月31日)。我们不使用乔达时间。也许这会有帮助Java 不含JODA的上个月的月末日期,java,date,calendar,Java,Date,Calendar,我从请求中得到了一个日期,比如2014年8月15日,如何使用java lang.Calendar计算上一个月的结束日期(即2014年7月31日)。我们不使用乔达时间。也许这会有帮助 Calendar cal = Calendar.getInstance(); //Set the Calendar date to 1st of the current month cal.set(Calendar.DATE, 1); // Subtract a day from it
Calendar cal = Calendar.getInstance();
//Set the Calendar date to 1st of the current month
cal.set(Calendar.DATE, 1);
// Subtract a day from it
cal.set(Calendar.DATE,cal.get(Calendar.DATE)-1);
// Prints the previous month end date
System.out.println(cal.get(Calendar.DATE));
从日历
实例中,您可以通过
Date date = cal.getTime();
最后,您可以使用SimpledateFormat
根据需要格式化日期
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
System.out.println( "The date is: "+ sdf.format(date));
希望有帮助 试试看
c.add(Calendar.DAY_OF_MONTH, -(c.get(Calendar.DAY_OF_MONTH)));
您可以使用GregoriaCalendar构造函数。使用包含的开始日期和独占的结束日期更容易,因此结束日期可以将小时/分钟/秒/等设置为零。这里有1个非常简单的解决方案。1) 开始使用JODA。2) 升级到Java8。虽然对前者可能有政治上的反对,但反对后者要困难得多。我们也可以使用java.lang.Date吗?@Agasthya不,只有日历可以添加日期。但是,在调用add函数之后,您可以调用c.getTime(),得到一个java.util.Date.ok,谢谢。。我们如何检查日期是否不是月底日期,然后执行上述逻辑?为了简单起见,我们如何检查一天是否是月底?@Agasthya我将在您拥有的日期上添加一天,并查看两个日期的月份是否相同。我们也可以使用javal.lang.date执行相同的操作?@Agasthya没有
java.lang.Date
API。但是,您有java.util.Date
。但是,用它来做这些操作不是一个好主意。