java 获取前30天日期
时间: 2023-07-18 20:10:41 浏览: 42
你可以使用Java 8中的`LocalDate`和`DateTimeFormatter`类来获取前30天的日期。以下是示例代码:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now(); // 获取当前日期
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 日期格式化
for (int i = 1; i <= 30; i++) {
LocalDate date = today.minusDays(i); // 获取前i天的日期
String formattedDate = date.format(formatter); // 将日期格式化
System.out.println(formattedDate);
}
}
}
```
运行此程序将输出前30天的日期,格式为“yyyy-MM-dd”。
相关问题
java中获取30天后的日期
要在Java中获取30天后的日期,可以使用Java的日期和时间类(java.util.Date和java.util.Calendar)或Java 8中的新日期和时间API(java.time.LocalDate和java.time.LocalDateTime)。
使用旧的日期和时间类,可以按照以下步骤获取30天后的日期:
1. 创建一个Calendar实例:
```java
Calendar calendar = Calendar.getInstance();
```
2. 获取当前日期:
```java
Date currentDate = calendar.getTime();
```
3. 将当前日期设置到Calendar对象中:
```java
calendar.setTime(currentDate);
```
4. 将Calendar对象的日期字段加上30:
```java
calendar.add(Calendar.DAY_OF_MONTH, 30);
```
5. 获取增加30天后的日期:
```java
Date thirtyDaysLater = calendar.getTime();
```
要使用新的日期和时间API,可以按照以下步骤获取30天后的日期:
1. 获取当前日期:
```java
LocalDate currentDate = LocalDate.now();
```
2. 将当前日期加上30天:
```java
LocalDate thirtyDaysLater = currentDate.plusDays(30);
```
3. 将LocalDate日期对象转换为Date对象(如果需要):
```java
Date thirtyDaysLaterDate = Date.from(thirtyDaysLater.atStartOfDay(ZoneId.systemDefault()).toInstant());
```
上述方法可以在Java中获得30天后的日期。请根据您的代码需求选择合适的日期和时间类。
java 使用Calender 获取今天前后各30天日期
首先你需要引入java.util.Calendar类。
然后使用Calendar的getInstance()方法来获取Calendar的实例。
接下来,你可以使用Calendar实例的add()方法来获取今天之前或之后的日期。这个方法接受两个参数,第一个参数表示要调整的字段(例如Calendar.DATE表示日),第二个参数表示调整的数量(例如30表示30天)。
你可以使用Calendar实例的get()方法来获取调整后的日期。这个方法接受一个参数表示要获取的字段(例如Calendar.YEAR表示年)。
例如,下面的代码可以用来获取今天之前30天的日期:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -30);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1;
int day = cal.get(Calendar.DATE);
你也可以使用Calendar实例的getTime()方法来获取一个java.util.Date实例,然后使用SimpleDateFormat来格式化日期。
例如,下面的代码可以用来获取今天之后30天的日期,并格式化为"yyyy-MM-dd"格式:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 30);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = sdf.format(cal.getTime());
希望这些信息对你有帮助!