zoukankan      html  css  js  c++  java
  • Convert Date between LocalDateTime

    http://blog.progs.be/542/date-to-java-time

    Java8 has new date and time classes to “replace” the old not-so-beloved java.util.Date class.

    Unfortunately though, converting between the two is somewhat less obvious than you might expect.

    Convert java.util.Date to java.time.LocalDateTime

    Date ts = ...;
    Instant instant = Instant.ofEpochMilli(ts.getTime());
    LocalDateTime res = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());

    The big trick (for all these conversions) is to convert to Instant. This can be converted to LocalDateTime by telling the system which timezone to use. This needs to be the system default locale, otherwise the time will change.

    Convert java.util.Date to java.time.LocalDate

    Date date = ...;
    Instant instant = Instant.ofEpochMilli(date.getTime());
    LocalDate res = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalDate();

    Convert java.util.Date to java.time.LocalTime

    Date time = ...;
    Instant instant = Instant.ofEpochMilli(time.getTime());
    LocalTime res = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalTime();

    Convert java.time.LocalDateTime to java.util.Date

    LocalDateTime ldt = ...;
    Instant instant = ldt.atZone(ZoneId.systemDefault()).toInstant();
    Date res = Date.from(instant);

    Convert java.time.LocalDate to java.util.Date

    LocalDate ld = ...;Instant instant = ld.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
    Date res = Date.from(instant);

    Convert java.time.LocalTime to java.util.Date

    LocalTime lt = ...;
    Instant instant = lt.atDate(LocalDate.of(A_YEAR, A_MONTH, A_DAY)).
            atZone(ZoneId.systemDefault()).toInstant();
    Date time = Date.from(instant);

    This one is a little, funny, you need to inject a date to convert the time… Gives you the option of start of epoch or something else.

  • 相关阅读:
    防抖函数
    锁屏功能
    配置编译环境和线上环境之间的切换
    vue-router中的滚动行为
    axios的再次封装
    Anaconda 镜像配置
    Python 包管理工具 pip 与 conda
    Anaconda 安装与卸载
    VS Code 配置和使用
    解决 VS Code 无法使用Ctrl+C等快捷键
  • 原文地址:https://www.cnblogs.com/feika/p/4448573.html
Copyright © 2011-2022 走看看