Java 日期和时间
Java 日期
Java 没有内置的 Date 类,但我们可以导入 java.time 包来使用日期和时间 API。该软件包囊括了许多日期和时间类。例如:
| 类 | 描述 |
|---|---|
LocalDate |
表示日期(年、月、日(yyyy-MM-dd))。 |
LocalTime |
表示时间(小时、分钟、秒和纳秒 (HH-mm-ss-ns))。 |
LocalDateTime |
表示日期和时间 (yyyy-MM-dd-HH-mm-ss-ns)。 |
DateTimeFormatter |
用于显示和解析日期时间对象的格式化程序。 |
提示:如果您还不理解包是什么,请阅读我们的 Java 包教程。
显示当前日期
如需显示当前日期,请导入 java.time.LocalDate 类,并使用其 now() 方法:
实例
import java.time.LocalDate; // 导入 LocalDate 类
public class Main {
public static void main(String[] args) {
LocalDate myObj = LocalDate.now(); // 创建日期对象
System.out.println(myObj); // 显示当前日期
}
}
输出将是:
2021-10-27
显示当前时间
如需显示当前时间(小时、分钟、秒和纳秒),请导入 java.time.LocalTime 类,并使用其 now() 方法:
实例
import java.time.LocalTime; // 导入 LocalTime 类
public class Main {
public static void main(String[] args) {
LocalTime myObj = LocalTime.now();
System.out.println(myObj);
}
}
输出将是:
17:00:57.186168
显示当前日期和时间
如需显示当前日期和时间,请导入 java.time.LocalDateTime 类,并使用其 now() 方法:
实例
import java.time.LocalDateTime; // 导入 LocalDateTime 类
public class Main {
public static void main(String[] args) {
LocalDateTime myObj = LocalDateTime.now();
System.out.println(myObj);
}
}
输出将是:
2021-10-27T17:00:57.189681
格式化日期和时间
上例中的 "T" 用于将日期与时间分开。您可以使用 DateTimeFormatter 类和同一包中的 ofPattern() 方法来格式化或解析日期时间对象。下例将从日期时间中删除 "T" 和纳秒:
实例
import java.time.LocalDateTime; // 导入 LocalDateTime 类
import java.time.format.DateTimeFormatter; // 导入 DateTimeFormatter 类
public class Main {
public static void main(String[] args) {
LocalDateTime myDateObj = LocalDateTime.now();
System.out.println("格式化之前:" + myDateObj);
DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
String formattedDate = myDateObj.format(myFormatObj);
System.out.println("格式化之后:" + formattedDate);
}
}
输出将是:
格式化之前:2021-10-27T17:00:57.189091 格式化之后:27-10-2021 17:00:57
ofPattern() 方法接受各种值,如果您想以不同的格式显示日期和时间。例如:
| 值 | 例子 | 试一试 |
|---|---|---|
| yyyy-MM-dd | "1988-09-29" | 试一试 |
| dd/MM/yyyy | "29/09/1988" | 试一试 |
| dd-MMM-yyyy | "29-Sep-1988" | 试一试 |
| E, MMM dd yyyy | "Thu, Sep 29 1988" | 试一试 |