根据当前时间 如何获得本月时间内的每一天的开始时间与结束时间 java
时间: 2023-07-31 20:12:23 浏览: 74
可以使用 Java 中的 `Calendar` 和 `SimpleDateFormat` 类来实现。具体步骤如下:
1. 获取当前时间的 `Calendar` 对象:
```java
Calendar calendar = Calendar.getInstance();
```
2. 将当前时间的日期设置为本月第一天:
```java
calendar.set(Calendar.DAY_OF_MONTH, 1);
```
3. 使用循环遍历每一天,获取开始时间和结束时间:
```java
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
while (calendar.get(Calendar.MONTH) == Calendar.getInstance().get(Calendar.MONTH)) {
// 获取当天的开始时间
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
String startTime = dateFormat.format(calendar.getTime());
// 获取当天的结束时间
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
String endTime = dateFormat.format(calendar.getTime());
// 输出开始时间和结束时间
System.out.println("开始时间:" + startTime);
System.out.println("结束时间:" + endTime);
// 将日期加一天
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
```
完整代码如下:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
while (calendar.get(Calendar.MONTH) == Calendar.getInstance().get(Calendar.MONTH)) {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
String startTime = dateFormat.format(calendar.getTime());
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
String endTime = dateFormat.format(calendar.getTime());
System.out.println("开始时间:" + startTime);
System.out.println("结束时间:" + endTime);
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
}
}
```
输出结果如下:
```
开始时间:2021-10-01 00:00:00
结束时间:2021-10-01 23:59:59
开始时间:2021-10-02 00:00:00
结束时间:2021-10-02 23:59:59
开始时间:2021-10-03 00:00:00
结束时间:2021-10-03 23:59:59
...
开始时间:2021-10-30 00:00:00
结束时间:2021-10-30 23:59:59
开始时间:2021-10-31 00:00:00
结束时间:2021-10-31 23:59:59
```
阅读全文