java获取下月末,java获取每月月末日期

java获取每月月末日期 比如要获取20140831 20140731 20140228 等等,并将结果放入到SELECT表单中。

项目中只需要获取两年即可,所以参数可自行修改。

Calendar c = Calendar.getInstance();

c.setTime(DateUtils.parseDate(dataDate, "yyyyMMdd"));

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH) + 1;

List listDate = new ArrayList();

for (int i = year; i > year - 2; i--) {

if (i != year) {

month = 12;

}

addListDate(c, i, month, listDate);

}

setAttribute("listDate", listDate);

private void addListDate(Calendar c, int year, int month, List listDate) {

for (int i = month; i > 0; i--) {

c.set(Calendar.MONTH, i);

c.set(Calendar.DAY_OF_MONTH, 0);

listDate.add(String.format("%s%s%s", year, i > 9 ? i : "0" + i, c.get(Calendar.DAY_OF_MONTH)));

}

}

页面代码为:

${varDate}

效果为:

75451410344685.gif

其实也可以用jQuery方式,下面的方式并非按照上图结果显示,而且根据月份获取每月最后一天。

06de20290ee0590e64b738dcaf3a5626.gif

©声明:本站原创文章采用BY-NC-SA共享协议,受法律保护,转载请注明出处;转载文章版权归原作者所有。

©转载请注明来源: 最优质网-最有指望

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java日期时间类来实现。具体步骤如下: 1. 获取当前日期 ```java LocalDate currentDate = LocalDate.now(); ``` 2. 获取下两个份 ```java int nextTwoMonth = currentDate.getMonthValue() + 2; ``` 需要注意的是,如果当前份是11或12,那么下两个就会跨年,此时需要对年份进行调整。 ```java int year = currentDate.getYear(); if (nextTwoMonth > 12) { nextTwoMonth -= 12; year++; } ``` 3. 获取下两个月末日期 ```java LocalDate nextTwoMonthEnd = LocalDate.of(year, nextTwoMonth, 1) .with(TemporalAdjusters.lastDayOfMonth()); ``` 最后,将日期格式化为指定的字符串即可。 ```java DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String nextTwoMonthEndStr = nextTwoMonthEnd.format(formatter); ``` 完整代码如下: ```java import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; public class Main { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); int nextTwoMonth = currentDate.getMonthValue() + 2; int year = currentDate.getYear(); if (nextTwoMonth > 12) { nextTwoMonth -= 12; year++; } LocalDate nextTwoMonthEnd = LocalDate.of(year, nextTwoMonth, 1) .with(TemporalAdjusters.lastDayOfMonth()); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String nextTwoMonthEndStr = nextTwoMonthEnd.format(formatter); System.out.println(nextTwoMonthEndStr); } } ``` 输出结果为当前日期的下两个月末,例如今天是2022年81日,则输出结果为2022-10-31。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值