java根据时间字符串获取当月开始日期和结束日期
时间: 2024-01-30 12:01:39 浏览: 159
获取当月的第一天和最后一天
可以使用Java中的 SimpleDateFormat 类来解析时间字符串,并使用 Calendar 类来计算当月开始日期和结束日期。下面是一个示例代码:
```java
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
private static final String DATE_FORMAT = "yyyy-MM-dd";
public static void main(String[] args) throws ParseException {
String dateString = "2021-09-15";
Date date = new SimpleDateFormat(DATE_FORMAT).parse(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 当月开始日期
calendar.set(Calendar.DAY_OF_MONTH, 1);
Date beginDate = calendar.getTime();
System.out.println("当月开始日期:" + new SimpleDateFormat(DATE_FORMAT).format(beginDate));
// 当月结束日期
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH, -1);
Date endDate = calendar.getTime();
System.out.println("当月结束日期:" + new SimpleDateFormat(DATE_FORMAT).format(endDate));
}
}
```
输出结果:
```
当月开始日期:2021-09-01
当月结束日期:2021-09-30
```
代码中,首先使用 SimpleDateFormat 类将时间字符串解析为 Date 对象。然后将 Date 对象设置到 Calendar 中,再通过 Calendar 来计算当月开始日期和结束日期。当月开始日期是当前月的第一天,当月结束日期是下个月的第一天减一天。最后使用 SimpleDateFormat 类将日期格式化为字符串输出。
阅读全文