用java实现编写一个方法,接收一个日期字符串,然后输出该日期所属的星期和该星期的开始日期和结束日期
时间: 2023-10-30 12:06:16 浏览: 84
Java编程入门第2章测验Java开发Java经验技巧共2
可以使用Java中的SimpleDateFormat和Calendar来实现。以下是一个示例代码:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WeekdayCalculator {
public static void main(String[] args) {
String dateStr = "2022-05-30"; // 输入日期字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(dateStr);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int weekday = calendar.get(Calendar.DAY_OF_WEEK); // 获取星期几
System.out.println("该日期是星期" + (weekday - 1));
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置为本周的第一天(星期一)
System.out.println("本周开始日期:" + sdf.format(calendar.getTime()));
calendar.add(Calendar.DATE, 6); // 加6天,即为本周的最后一天(星期日)
System.out.println("本周结束日期:" + sdf.format(calendar.getTime()));
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
输出结果:
```
该日期是星期1
本周开始日期:2022-05-30
本周结束日期:2022-06-05
```
注意:以上代码中,我们将星期天作为一个星期的第一天,即星期天到星期六为一周。如果需要将星期一作为第一天,可以将以下代码:
```java
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置为本周的第一天(星期一)
```
改为:
```java
calendar.setFirstDayOfWeek(Calendar.MONDAY); // 设置星期一为一周的第一天
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 设置为本周的第一天(星期一)
```
阅读全文