java如何获取前一天的日期
时间: 2023-07-18 09:08:27 浏览: 106
可以使用Java中的Calendar类来获取前一天的日期,示例代码如下:
```
Calendar calendar = Calendar.getInstance(); // 获取当前日期
calendar.add(Calendar.DATE, -1); // 将日期向前推一天
Date yesterday = calendar.getTime(); // 获取前一天的日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 定义日期格式
String yesterdayStr = sdf.format(yesterday); // 将日期转换为字符串
System.out.println(yesterdayStr); // 输出前一天的日期
```
输出结果为:2021-12-06。其中,Calendar类中的add方法可以对日期进行偏移,负数表示向前偏移,正数表示向后偏移;SimpleDateFormat类可以将日期按照指定格式转换为字符串。
相关问题
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获取前一天日期
在Java中,你可以使用`java.time.LocalDate`类和`plusDays()`方法来获取前一天的日期。下面是一个示例:
```java
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now(); // 获取当前日期
LocalDate yesterday = today.minusDays(1); // 减一天得到前一天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String dateStr = yesterday.format(formatter);
System.out.println("Yesterday's date is: " + dateStr);
}
}
```
这个程序首先获取当前日期,然后减去一天得到前一天,最后使用`DateTimeFormatter`将日期转换成字符串格式。运行此程序会打印出前一天的具体日期。
阅读全文