📅  最后修改于: 2023-12-03 14:43:04.752000             🧑  作者: Mango
在Java中,获取当前日期非常简单。但是,有时候我们需要获取在没有时间的情况下当前的日期。这篇文章将会介绍如何在Java中获取没有时间的当前日期。
Java 8引入了全新的java.time
包,该包提供了更好的日期和时间处理方式。要获取没有时间的当前日期,可以使用LocalDate
类和java.time.LocalDate.now()
方法。
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
LocalDate today = LocalDate.now();
System.out.println("当前日期:" + today);
}
}
输出:
当前日期:2022-05-26
上述代码中LocalDate.now()
方法返回当前的日期。该方法返回LocalDate
类的对象,该对象表示了一个不带时区的日期,例如:“2022-05-26”。
在早期版本的Java中,我们可以使用java.util.Date
和SimpleDateFormat
类来获取当前的日期。但是,java.util.Date
类同时包含日期和时间信息,因此我们需要一些额外的操作来确保仅获取日期。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date currentDate = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateString = sdf.format(currentDate);
System.out.println("当前日期:" + currentDateString);
}
}
输出:
当前日期:2022-05-26
上述代码中,我们创建了一个Date
对象来表示当前日期和时间。然后使用SimpleDateFormat
类来格式化日期为只包含日期信息的字符串。
java.util.Calendar
类也提供了获取当前日期的方法。然而,和java.util.Date
类一样,Calendar
类也包含时间信息,因此我们需要进行一些处理。
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateString = sdf.format(calendar.getTime());
System.out.println("当前日期:" + currentDateString);
}
}
输出:
当前日期:2022-05-26
上述代码中,我们同样使用SimpleDateFormat
类来格式化Calendar.getTime()
方法返回的日期时间信息。Calendar
类中还有一些方法可以用来处理日期,如get(Calendar.YEAR)
方法可以获取年份,get(Calendar.MONTH)
方法可以获取月份。
使用Java可以很容易地获取当前日期。对于不需要时间信息的需求,我们可以使用LocalDate
类(Java 8之后),java.util.Date
类或Calendar
类。根据Java版本和项目需求,选择合适的方法即可。