java8
jdk8
计算每一个月份的前一个月:2017-11
编写一个java类:DateUtils
在该类中建立一个静态方法:beforeMonth48
方法类代码如下: /** * 查找上一个月 * @param month * @return */ public static String beforeMonth48(String month){ DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM"); YearMonth yearMonth = YearMonth.parse(month); return yearMonth.minus(1, ChronoUnit.MONTHS).toString(); }
整个类代码:import java.text.ParseException;import java.text.SimpleDateFormat;import java.time.*;import java.time.format.DateTimeFormatter;import java.time.format.DateTimeFormatterBuilder;import java.time.temporal.ChronoUnit;import java.time.temporal.TemporalAccessor;import java.util.Calendar;public class DateUtils { /** * 查找上一个月 * @param month * @return */ public static String beforeMonth48(String month){ DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM"); YearMonth yearMonth = YearMonth.parse(month); return yearMonth.minus(1, ChronoUnit.MONTHS).toString(); } public static void main(String[] args) throws ParseException { System.out.println(beforeMonth48("2017-11")); }}
测试结果输出.