java获取本周周一的日期
时间: 2023-07-16 10:13:29 浏览: 102
可以使用以下代码获取本周周一的日期:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
DayOfWeek dow = today.getDayOfWeek();
int dayOfWeekValue = dow.getValue(); // 1 = Monday, ..., 7 = Sunday
LocalDate monday = today.minusDays(dayOfWeekValue - 1);
System.out.println("本周周一的日期为:" + monday);
}
}
```
这里使用了Java 8引入的`java.time`包中的`LocalDate`和`DayOfWeek`类来实现。首先获取当前日期,然后获取今天是周几,并计算出距离周一还有几天。最后用当前日期减去这个天数就可以得到本周周一的日期。
相关问题
java获取本周一的日期
你可以使用 Java 的 Calendar 类来获取本周一的日期。以下是示例代码:
```java
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
Date date = calendar.getTime();
```
这段代码将获取当前日期,并将它设置为本周的第一天(即星期一)。然后,它将返回一个 Date 对象,该对象表示本周一的日期。你可以根据需要进一步处理该日期对象。
java获取本周七天日期
在Java中,你可以使用`java.time`包下的类来获取当前星期的起始日期(周日)和结束日期(周六)。下面是一个简单的例子:
```java
import java.time.LocalDate;
import java.time.DayOfWeek;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now(); // 获取当前日期
DayOfWeek currentDayOfWeek = currentDate.getDayOfWeek(); // 获取当前星期
// 如果今天不是周一,向后移动到上周一
if (currentDayOfWeek != DayOfWeek.MONDAY) {
currentDate = currentDate.minusWeeks(1).with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
}
// 创建一个从本周一开始到周日结束的流
Stream<LocalDate> weekDates = Stream.of(currentDate, currentDate.plusDays(1), // 周日
currentDate.plusDays(2), currentDate.plusDays(3),
currentDate.plusDays(4), currentDate.plusDays(5),
currentDate.plusDays(6));
// 打印本周的所有日期
weekDates.forEach(date -> System.out.println(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
}
}
```
这段代码首先找到当前是周几,然后根据需要调整到上周一。接着,通过`Stream`创建了一个包含一周所有日期的流,并打印出来。
阅读全文