java 获取前一天的日期
时间: 2023-09-10 22:16:00 浏览: 128
您可以使用Java的`java.time`包来获取前一天的日期。下面是一个示例代码:
```java
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
System.out.println("前一天的日期是:" + yesterday);
}
}
```
这个示例中,我们使用`LocalDate.now()`方法获取当前日期,然后使用`minusDays(1)`方法获取前一天的日期。最后,我们打印出前一天的日期。
相关问题
java 获取前一天日期
以下是两种Java获取前一天日期的方法:
1.使用LocalDate类获取前一天日期,并将其转化为指定格式的字符串:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
// 获取当前日期前一天的日期
LocalDate localDate = LocalDate.now().minusDays(1);
// 将日期转化为指定格式的字符串
String formattedDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(formattedDate); // 输出:2021-03-01
```
2.使用SimpleDateFormat类获取前一天日期,并将其转化为指定格式的字符串:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
// 获取当前日期的字符串表示
String dayNow = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
// 将日期字符串转化为Date对象
Date day = new SimpleDateFormat("yyyy-MM-dd").parse(dayNow.split(" ")[0]);
// 计算前一天的时间戳
long ms = day.getTime() - 1*24*3600*1000L;
// 将时间戳转化为Date对象
Date prevDay = new Date(ms);
// 将Date对象转化为指定格式的字符串
String dayBefore = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(prevDay);
System.out.println("昨天20点:" + dayBefore);
```
java 获取前30天日期
可以使用 Java 中的 Calendar 类和 SimpleDateFormat 类来获取前30天日期。具体实现代码如下:
```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 calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.DATE, -30);
String date = sdf.format(calendar.getTime());
System.out.println("前30天日期为:" + date);
}
}
```
运行结果如下:
```
前30天日期为:2021-11-08
```
其中,SimpleDateFormat 类用于格式化日期,Calendar 类用于处理日期和时间。首先创建一个 SimpleDateFormat 类的实例,指定日期格式为 "yyyy-MM-dd",然后获取当前时间,将其设置为 Calendar 类的时间,再用 add 方法减去30天,最后使用 format 方法将日期格式化为字符串并输出。
阅读全文