在 Java 中,java.time 包提供了丰富的日期和时间处理类,其中包括 LocalDate、LocalTime、LocalDateTime、Instant 等。这些类提供了更好的 API 和更强大的功能,相较于旧版的 Date 和 Calendar 类。

以下是一些关于 Java 日期和时间的基本操作:

1. LocalDate 类:

LocalDate 表示一个日期,提供了处理年、月、日的方法。
import java.time.LocalDate;

// 获取当前日期
LocalDate currentDate = LocalDate.now();
System.out.println("Current Date: " + currentDate);

// 构造指定日期
LocalDate specifiedDate = LocalDate.of(2023, 1, 1);
System.out.println("Specified Date: " + specifiedDate);

// 获取年、月、日
int year = currentDate.getYear();
int month = currentDate.getMonthValue();
int day = currentDate.getDayOfMonth();

// 打印年、月、日
System.out.println("Year: " + year);
System.out.println("Month: " + month);
System.out.println("Day: " + day);

2. LocalTime 类:

LocalTime 表示一个时间,提供了处理小时、分钟、秒的方法。
import java.time.LocalTime;

// 获取当前时间
LocalTime currentTime = LocalTime.now();
System.out.println("Current Time: " + currentTime);

// 构造指定时间
LocalTime specifiedTime = LocalTime.of(12, 30, 45);
System.out.println("Specified Time: " + specifiedTime);

// 获取小时、分钟、秒
int hour = currentTime.getHour();
int minute = currentTime.getMinute();
int second = currentTime.getSecond();

// 打印小时、分钟、秒
System.out.println("Hour: " + hour);
System.out.println("Minute: " + minute);
System.out.println("Second: " + second);

3. LocalDateTime 类:

LocalDateTime 表示日期和时间,是 LocalDate 和 LocalTime 的组合。
import java.time.LocalDateTime;

// 获取当前日期和时间
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("Current Date and Time: " + currentDateTime);

// 构造指定日期和时间
LocalDateTime specifiedDateTime = LocalDateTime.of(2023, 1, 1, 12, 30, 45);
System.out.println("Specified Date and Time: " + specifiedDateTime);

4. Instant 类:

Instant 表示从 1970-01-01T00:00:00Z 起的秒数。
import java.time.Instant;

// 获取当前时间戳
Instant currentTimestamp = Instant.now();
System.out.println("Current Timestamp: " + currentTimestamp);

// 根据秒数创建 Instant 对象
Instant specifiedTimestamp = Instant.ofEpochSecond(1609459200);
System.out.println("Specified Timestamp: " + specifiedTimestamp);

5. 格式化和解析:
import java.time.format.DateTimeFormatter;

// 格式化日期时间
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = currentDateTime.format(formatter);
System.out.println("Formatted Date and Time: " + formattedDateTime);

// 解析字符串为日期时间
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-01-01 12:30:45", formatter);
System.out.println("Parsed Date and Time: " + parsedDateTime);

以上是一些 Java 中处理日期和时间的基本操作。这些新的日期和时间 API 更加清晰、易用,推荐在新的项目中使用。


转载请注明出处:http://www.zyzy.cn/article/detail/417/Java