Java 获取最近5周的周五时间
时间: 2023-07-01 20:28:23 浏览: 56
您好!以下是一个 Java 代码示例,用于获取最近五个周五的日期:
```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 lastFriday = now.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY));
// 输出最近五个周五的日期
for (int i = 0; i < 5; i++) {
System.out.println(lastFriday.minusWeeks(i));
}
}
}
```
上述代码中,我们使用了 Java 8 中的日期时间 API。首先,使用 `LocalDate.now()` 获取当前日期。然后,使用 `TemporalAdjusters.previous(DayOfWeek.FRIDAY)` 方法找到最近的上一个周五。最后,通过循环和 `minusWeeks()` 方法计算最近五个周五的日期,并在控制台输出。
相关问题
Java 获取最近5周的周五时间单位秒
您好!以下是一个 Java 代码示例,用于获取最近五个周五的日期,并将其转换为秒数:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.time.temporal.TemporalAdjusters;
public class Main {
public static void main(String[] args) {
LocalDate now = LocalDate.now();
// 找到最近的上一个周五
LocalDate lastFriday = now.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY));
// 输出最近五个周五的日期的秒数
for (int i = 0; i < 5; i++) {
LocalDateTime fridayMidnight = lastFriday.minusWeeks(i).atStartOfDay();
long seconds = fridayMidnight.toEpochSecond(ZoneOffset.UTC);
System.out.println(seconds);
}
}
}
```
上述代码中,我们使用了 Java 8 中的日期时间 API。首先,使用 `LocalDate.now()` 获取当前日期。然后,使用 `TemporalAdjusters.previous(DayOfWeek.FRIDAY)` 方法找到最近的上一个周五。接下来,我们将每个周五的日期转换为 UTC 时区的的午夜时刻,并使用 `toEpochSecond()` 方法将其转换为秒数。最后,在控制台输出这些秒数。
java获取本周起止时间
以下是Java代码实现获取本周起止时间的方法:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
Date now = new Date();
calendar.setTime(now);
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
calendar.add(Calendar.DATE, -(dayOfWeek - 2));
String beginDate = sdf.format(calendar.getTime());
calendar.add(Calendar.DATE, 6);
String endDate = sdf.format(calendar.getTime());
System.out.println("本周开始日期:" + beginDate);
System.out.println("本周结束日期:" + endDate);
}
}
```
解释一下代码:
1. 获取当前时间:`Calendar.getInstance()` 和 `new Date()` 可以获取当前时间。
2. 获取当前日期是星期几:`Calendar.DAY_OF_WEEK` 可以获取当前日期是星期几。
3. 获取当前月份的天数:`Calendar.getActualMaximum(Calendar.DAY_OF_MONTH)` 可以获取当前月份的天数。
4. 计算本周开始日期:用当前日期减去当前日期是星期几减二得到本周的开始日期。
5. 计算本周结束日期:用本周开始日期加上6天得到本周的结束日期。
最后输出结果为:
```
本周开始日期:2022-02-21
本周结束日期:2022-02-27
```