java获取前一天
时间: 2023-08-11 10:05:26 浏览: 45
好的,以下是Java代码,用于获取前一天的日期:
```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("今天的日期:" + today);
System.out.println("昨天的日期:" + yesterday);
}
}
```
这个程序会获取当前日期,并通过 `minusDays()` 方法获取前一天的日期。如果今天是2022年1月1日,则输出如下结果:
```
今天的日期:2022-01-01
昨天的日期:2021-12-31
```
这样你就可以通过这个程序获取前一天的日期了。
相关问题
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的`Calendar`类来获取前一天的时间。下面是一个示例代码:
```java
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
// 获取当前时间
Calendar calendar = Calendar.getInstance();
// 将时间减去一天
calendar.add(Calendar.DAY_OF_MONTH, -1);
// 获取前一天的年、月、日
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始,所以要加1
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 输出前一天的时间
System.out.println("前一天的时间为:" + year + "-" + month + "-" + day);
}
}
```
运行上述代码,将会输出前一天的日期。注意,这里获取的是前一天的日期,而不是前一天的具体时间。如果你需要获取具体的时间,可以使用`Calendar`类的其他字段来获取。