java中Date、LocalDate、LocalTime、时间戳的相互转化和基本使用方法
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class DateTimeExample {
public static void main(String[] args) {
// 当前日期、时间
LocalDate currentDate = LocalDate.now();
LocalTime currentTime = LocalTime.now();
LocalDateTime currentDateTime = LocalDateTime.now();
System.out.println("当前日期: " + currentDate);
System.out.println("当前时间: " + currentTime);
System.out.println("当前日期时间: " + currentDateTime);
// Date转LocalDateTime
Date date = new Date();
LocalDateTime dateTime = date.toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
// LocalDateTime转Date
Date localDateTimeToDate = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
// 时间戳转LocalDateTime
long timestamp = System.currentTimeMillis();
LocalDateTime timestampToDateTime = new Date(timestamp).toInstant()
.atZone(ZoneId.systemDefault())
.toLocalDateTime();
// LocalDateTime转时间戳
long dateTimeToTimestamp = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
// 格式化LocalDateTime
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = localDateTime.format(formatter);
// 解析字符串为LocalDateTime
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-04-01 12:00:00", formatter);
System.out.println("解析后的日期时间: " + parsedDateTime);
}
}
这段代码展示了如何在Java中使用java.time
包中的LocalDate
、LocalTime
、LocalDateTime
以及ZonedDateTime
来处理日期和时间,以及如何在它们之间转换Date
和时间戳。同时,代码展示了如何格式化和解析日期时间字符串。这些是处理日期和时间的标准方式,并且推荐在新的项目中使用。
评论已关闭