Java 没有内置的 Date 类,但我们可以导入包 java.time 以使用日期和时间 API。该软件包包括许多日期和时间类。例如:
| Class | Description |
|---|---|
| LocalDate | 日期(year, month, day (yyyy-MM-dd)) |
| LocalTime | 时间(hour, minute, second and nanoseconds (HH-mm-ss-ns)) |
| LocalDateTime | 日期和时间(yyyy-MM-dd-HH-mm-ss-ns) |
| DateTimeFormatter | 格式化显示 |
显示当前日期
若要显示当前日期,请导入 java.time.LocalDate 类,并使用其 now() 方法:
import java.time.LocalDate;
public class LocalDateDemo {
public static void main(String[] args) {
LocalDate localDate = LocalDate.now();
System.out.println(localDate);
}
}
// 2023-11-15
显示当前时间
若要显示当前时间(小时、分钟、秒和纳秒),请导入类 java.time.LocalTime ,并使用其 now() 方法:
import java.time.LocalTime;
public class LocalTimeDemo {
public static void main(String[] args) {
LocalTime localTime = LocalTime.now();
System.out.println(localTime);
}
}
// 14:01:32.288634
显示当前日期和时间
若要显示当前日期和时间,请导入 java.time.LocalDateTime 类,并使用其 now() 方法:
import java.time.LocalDateTime;
public class LocalDateTimeDemo {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
}
}
// 2023-11-15T14:03:27.608109900
格式化日期和时间
上例中的“T”用于将日期与时间分开。可以将该 DateTimeFormatter 类与同一包中 ofPattern() 的方法一起使用,以格式化或分析日期时间对象。以下示例将从日期时间中删除“T”和纳秒:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateTimeFormateDemo {
public static void main(String[] args) {
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println("原始格式时间:" + localDateTime);
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formateTime = localDateTime.format(dateTimeFormatter);
System.out.println("格式后的时间:" + formateTime);
}
}
// 原始格式时间:2023-11-15T14:09:56.577320300
// 格式后的时间:2023-11-15 14:09:56
如果要以不同的格式显示日期和时间,该 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" |