我需要的start是上个月1号,end是本月当天的23点59分59秒
时间: 2024-03-07 07:46:55 浏览: 66
好的,根据你的要求,这里提供一个修改后的代码:
```java
// 获取当前时间
Calendar calendar = Calendar.getInstance();
// 设置时间为本月的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
// 设置时间为 00:00:00
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
// 获取本月的起始时间
Date start = calendar.getTime();
// 设置时间为当前时间
calendar.setTime(new Date());
// 设置时间为 23:59:59
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
calendar.set(Calendar.MILLISECOND, 999);
// 获取当前时间的结束时间
Date end = calendar.getTime();
// 设置时间为上月的第一天
calendar.setTime(start);
calendar.add(Calendar.MONTH, -1);
// 获取上月的起始时间
start = calendar.getTime();
// 将起始时间和结束时间设置到 page 对象中
page.setParams("GTE_createdDate", start);
page.setParams("LTE_createdDate", end);
```
这里的代码与之前的代码相比,主要做了以下修改:
1. 获取结束时间的代码改为获取当前时间并设置为当天的 23:59:59;
2. 获取起始时间的代码增加了一个步骤,先将时间设置为本月第一天,再将时间往前推一个月,即为上个月的第一天。
这样修改后,`start` 变量就是上个月1号的 00:00:00,`end` 变量就是本月当天的 23:59:59,符合你的要求。
阅读全文