您的位置:

Java获取昨天日期的方法

一、通过Java Calendar类获取昨天日期


Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String yesterday = sdf.format(cal.getTime());
System.out.println("昨天的日期是:" + yesterday);

Calendar类是Java中处理日期的强大工具,它提供了大量的方法来操作日期,比如add可以通过负数来实现倒推时间,getTime可以获取时间对象等等。上述代码中,我们首先通过getInstance方法获取当前日期的Calendar对象。接着,通过add方法传入负数-1,表示倒推一天,最后通过SimpleDateFormat类将时间格式化成字符串输出。

二、通过Java Date类获取昨天日期


Date date = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String yesterday = sdf.format(cal.getTime());
System.out.println("昨天的日期是:" + yesterday);

Date类是Java中操作日期和时间的类之一,使用它可以方便地进行时间的计算和处理。上述代码中,我们首先通过new Date()方法获取当前时间的Date对象,接着使用Calendar.getInstance方法将Date转化为Calendar对象,然后使用add方法将日期向前推一天,最后通过SimpleDateFormat将日期转为字符串输出。

三、通过Java 8中的LocalDate类获取昨天日期


LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedYesterday = yesterday.format(formatter);
System.out.println("昨天的日期是:" + formattedYesterday);

Java 8中引入了全新的日期和时间API,其中包括了LocalDate类,它提供了许多有用的静态方法来操作日期和时间。上述代码中,我们首先通过now方法获取当前日期的LocalDate对象,接着使用minusDays方法将日期向前推一天,最后通过DateTimeFormatter类将日期格式化成字符串输出。

四、通过第三方库Joda-Time获取昨天日期


DateTime dateTime = new DateTime();
DateTime yesterday = dateTime.minusDays(1);
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd");
String formattedYesterday = yesterday.toString(formatter);
System.out.println("昨天的日期是:" + formattedYesterday);

Joda-Time是在Java 8之前最流行的日期和时间处理库,它提供了丰富的方法和模块来操作日期和时间。上述代码中,我们首先通过new DateTime()方法获取当前时间的DateTime对象,接着使用minusDays方法将日期向前推一天,最后通过DateTimeFormatter类将日期格式化成字符串输出。

五、结语

Java提供了多种方法来获取昨天日期,开发者可以根据不同的需求选择适合自己的方式。其中,Java 8引入的日期和时间API大大简化了日期的操作,建议开发者使用该 API 进行日期和时间的处理。