LocalDate与Date转化

// 01. java.util.Date --> java.time.LocalDateTime
public void UDateToLocalDateTime() {
java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
}

// 02. java.util.Date --> java.time.LocalDate
public void UDateToLocalDate() {
java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalDate localDate = localDateTime.toLocalDate();
}

// 03. java.util.Date --> java.time.LocalTime
public void UDateToLocalTime() {
java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalTime localTime = localDateTime.toLocalTime();
}


// 04. java.time.LocalDateTime --> java.util.Date
public void LocalDateTimeToUdate() {
LocalDateTime localDateTime = LocalDateTime.now();
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}


// 05. java.time.LocalDate --> java.util.Date
public void LocalDateToUdate() {
LocalDate localDate = LocalDate.now();
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}

// 06. java.time.LocalTime --> java.util.Date
public void LocalTimeToUdate() {
LocalTime localTime = LocalTime.now();
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
**LocalDateLocalDateTime之间的转化主要涉及日期和时间的操作。** 首先,了解这两个类的定义: - **LocalDate**: 表示没有时间的日期(年、月、日)。 - **LocalDateTime**: 表示日期和时间的组合。 以下是一些常见的换操作: 1. **从LocalDateLocalDateTime**: 要将`LocalDate`换为`LocalDateTime`,您需要提供一个`LocalTime`实例。例如,如果您有一个代表当前日期的`LocalDate`实例,并且想要将其换为当天午夜开始的`LocalDateTime`,可以使用`LocalTime.MIDNIGHT`常量。代码示例如下: ```java LocalDate date = LocalDate.now(); LocalDateTime dateTime = LocalDateTime.of(date, LocalTime.MIDNIGHT); ``` 2. **从LocalDateTime到LocalDate**: 要从`LocalDateTime`获取`LocalDate`,可以简单地调用`toLocalDate()`方法。这将丢弃时间部分,只保留日期。代码示例如下: ```java LocalDateTime dateTime = LocalDateTime.now(); LocalDate date = dateTime.toLocalDate(); ``` 3. **格式化输出**: 如果您需要将`LocalDate`或`LocalDateTime`换为字符串,可以使用`DateTimeFormatter`类来指定输出格式。例如,要将日期格式化为"yyyy-MM-dd",可以使用以下代码: ```java DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String dateStr = date.format(fmt); ``` 4. **解析输入**: 如果您有日期或日期时间的字符串表示,并希望将其换为`LocalDate`或`LocalDateTime`对象,也可以使用`DateTimeFormatter`的`parse`方法。例如: ```java LocalDate parsedDate = LocalDate.parse("2021-06-15", fmt); ``` 请注意,这些换不涉及任何时区信息,因为`LocalDate`和`LocalDateTime`都是不可变的且不包含时区的日期和日期时间对象。如果需要处理时区,您应该使用`ZonedDateTime`或`OffsetDateTime`类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值