java 获取本周起止时间
时间: 2023-08-31 08:38:48 浏览: 107
获取周的开始结束时间
### 回答1:
以下是Java代码实现获取本周起止时间的方法:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
String startOfWeek = sdf.format(cal.getTime()); // 本周第一天
cal.add(Calendar.DAY_OF_WEEK, 6);
String endOfWeek = sdf.format(cal.getTime()); // 本周最后一天
System.out.println("本周起止时间:" + startOfWeek + " 至 " + endOfWeek);
}
}
```
输出结果为:
```
本周起止时间:2021-12-06 至 2021-12-12
```
### 回答2:
Java可以通过`java.time`包中的`LocalDate`类来获取本周的起止时间。
首先,我们可以使用`LocalDate.now()`方法获取当前日期。然后,使用`TemporalAdjusters`类的静态方法来获取本周的起始日期和结束日期。`TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)`方法可以获取本周的周一日期,`TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)`方法可以获取本周的周日日期。
下面是获取本周起止时间的示例代码:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate now = LocalDate.now();
LocalDate startOfWeek = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
LocalDate endOfWeek = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
System.out.println("本周起始日期:" + startOfWeek);
System.out.println("本周结束日期:" + endOfWeek);
}
}
```
以上代码会打印出当前日期所在的本周起始日期和结束日期。例如,如果今天是周二,代码会输出以下结果:
```
本周起始日期:xxxx-xx-xx (周一的日期)
本周结束日期:xxxx-xx-xx (周日的日期)
```
通过上述代码,可以灵活地获取任意一周的起始日期和结束日期。
阅读全文