java如何获取上周的日期
时间: 2023-07-18 09:35:50 浏览: 62
你可以使用 Java 中的 `Calendar` 类来获取上周的日期。下面是一个获取上周日期的示例代码:
```java
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.WEEK_OF_YEAR, -1);
Date lastWeekDate = calendar.getTime();
```
首先,我们获取当前日期时间的 `Calendar` 实例。然后,使用 `add` 方法将当前日期时间向前推一周,即减去一周的时间量。最后,使用 `getTime` 方法将 `Calendar` 实例转换为 `Date` 类型的日期。这样就可以获取到上周的日期了。
相关问题
java获取当前时间上周日期
以下是Java获取当前时间上周日期的代码示例:
```java
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
public class LastWeekDates {
public static void main(String[] args) {
Date currentDate = new Date();
List<Date> lastWeekDates = dateToLastWeek(currentDate);
System.out.println("Last week dates: " + lastWeekDates);
}
public static List<Date> dateToLastWeek(Date myDate) {
Calendar cal = Calendar.getInstance();
cal.setTime(myDate);
int b = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (b == 0) {
b = 7;
}
Date fdate;
List<Date> list = new ArrayList<Date>();
Long fTime = myDate.getTime() - (b + 6) * 24 * 3600000;
for (int a = 1; a <= 7; a++) {
fdate = new Date();
fdate.setTime(fTime + (a * 24 * 3600000));
list.add(a - 1, fdate);
}
return list;
}
}
```
这段代码中,我们首先获取当前时间,然后调用`dateToLastWeek`方法获取上周日期。`dateToLastWeek`方法中,我们首先获取当前日期的星期几,然后计算出当前日期所在周的第一天的日期,再往前推6天即为上周的最后一天,然后循环7次,每次加一天,得到上周的所有日期。最后将这些日期存储在一个`List`中并返回。
java 获取上周的每一天日期
下面是 Java 代码获取上周的每一天日期:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class LastWeekDates {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate lastWeekStart = today.minusWeeks(1).with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
LocalDate lastWeekEnd = today.minusWeeks(1).with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
for (LocalDate date = lastWeekStart; !date.isAfter(lastWeekEnd); date = date.plusDays(1)) {
System.out.println(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
}
}
}
```
这个程序会输出上周每一天的日期,格式为 yyyy-MM-dd。你可以根据自己的需要修改日期格式和输出方式。