SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cale = Calendar.getInstance();
cale.set(Calendar.HOUR_OF_DAY, 0);
cale.set(Calendar.MINUTE, 0);
cale.set(Calendar.SECOND, 0);
cale.add(Calendar.MONTH, 1);
cale.set(Calendar.DAY_OF_MONTH, 0);
String lastday = format.format(cale.getTime());
Calendar cale1 = Calendar.getInstance();
cale1.set(Calendar.HOUR_OF_DAY, 0);
cale1.set(Calendar.MINUTE, 0);
cale1.add(Calendar.MONTH, 1);
cale1.add(Calendar.YEAR, -1);
cale1.add(Calendar.MONTH, 0);
cale1.set(Calendar.DAY_OF_MONTH, 1);
cale1.set(Calendar.SECOND, 0);
String firstday = format.format(cale1.getTime());
System.out.println("一年前的月份第一天是" + firstday);
System.out.println("一年后的月份最后一天是" + lastday);
执行结果:
一年前的月份第一天是2018-05-01 00:00:00
一年后的月份最后一天是2019-04-30 00:00:00
正好相隔一年,记录以备以后查看。
本文详细介绍了如何使用Java的SimpleDateFormat和Calendar类来获取指定日期的一年前和一年后的具体日期,包括设置时间的具体小时、分钟和秒数,以及如何通过加减月份和年份来实现跨年的日期计算。
2653

被折叠的 条评论
为什么被折叠?



