专业的JAVA编程教程与资源

网站首页 > java教程 正文

Java修炼终极指南:64. 在Date和YearMonth之间转换

temp10 2024-09-19 04:12:42 java教程 15 ℃ 0 评论


可以将java.util.Date转换为JDK 8 java.time.YearMonth,方法是基于YearMonth.from(TemporalAccessor temporal)进行转换。TemporalAccessor是一个接口(更准确地说,是一个框架级接口),它提供了对任何时间对象的只读访问,包括日期、时间和偏移量(也允许这些的组合)。因此,如果我们将给定的java.util.Date转换为java.time.LocalDate,那么转换的结果可以作为参数传递给YearMonth.from(),如下所示:

Java修炼终极指南:64. 在Date和YearMonth之间转换

public static YearMonth toYearMonth(Date date) {
  return YearMonth.from(date.toInstant()
                  .atZone(ZoneId.systemDefault())
                  .toLocalDate());
}


反之,可以通过Date.from(Instant instant)获得,如下所示:

public static Date toDate(YearMonth ym) {
  return Date.from(ym.atDay(1).atStartOfDay(
           ZoneId.systemDefault()).toInstant());
}


好了,那很简单,不是吗?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表