
java如何获取上个月第一天
用户关注问题
在Java中,怎样获取上个月的第一天日期?
我需要在Java程序中获取上个月的第一天的日期,应该使用哪种方法或类比较合适?
使用LocalDate获取上个月第一天
可以使用Java 8引入的java.time包中的LocalDate类,通过当前日期减去一个月并调用withDayOfMonth(1)方法来获取上个月的第一天。例如:
LocalDate firstDayOfLastMonth = LocalDate.now().minusMonths(1).withDayOfMonth(1);
Java中如何格式化上个月第一天的日期?
在获取上个月第一天后,怎样将其格式化成"yyyy-MM-dd"的字符串形式?
使用DateTimeFormatter格式化日期
可以使用java.time.format.DateTimeFormatter类来格式化LocalDate对象,代码示例如下:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDate = firstDayOfLastMonth.format(formatter);
如何用Java的Calendar类获取上个月的第一天?
除了java.time包,能否用传统的Calendar类来获取上个月第一天日期?具体怎么做?
使用Calendar调整日期获取上个月第一天
可以通过Calendar实例调用add方法将月份减1,然后调用set方法将日设置为1,示例代码:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date firstDayOfLastMonth = cal.getTime();