• Java获取当前日期和时间


    1、 System.currentTimeMillis()

    获取标准时间可以使用 System.currentTimeMillis() 方法来获取,此方法优势是不受时区的影响,但是得到结果是时间戳的格式,如:

    1543105352845 
    

    可以通过代码将时间戳转化为我们可以理解的格式:

    SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
    Date date = new Date(System.currentTimeMillis());
    System.out.println(formatter.format(date));
    

    则该时间戳对应的时间为:

    2018-11-25 at 01:22:12 CET
    

    【注】该方法会根据我们的系统时间来返回当前值,因为世界各地的时区是不同的。

    2、 Java.util.Date

    在Java中,获取当前日期最简单的方法之一就是直接实例化位于 Java 包 Java.util 的 Date 类。

    Date date = new Date(); // this object contains the current date value 
    

    上面获取的日期也可以通过 format 转换成我们所需要的格式,如:

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");  
    System.out.println(formatter.format(date));
    

    3、 Calendar API

    Calendar 类,是专门用来转换特定时刻和日历字段之间的日期和时间。

    使用 Calendar 获取当前日期和时间:

    Calendar calendar = Calendar.getInstance(); // get current instance of the calendar
    

    与 date 一样,我们也可以通过 format 转化我们所需要的格式:

    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");  
    System.out.println(formatter.format(calendar.getTime())); 
    

    打印结果:

    25-11-2018 00:43:39
    

    4、 Date/Time API

    Java 8 提供了一个全新的 API ,用来替换 Java.util.Date 和 Java.util.Calendar。

    Date/Time API 提供了多个类,帮助我们完成工作,包括以下内容:

    • LocalDate
    • LocalTime
    • LocalDateTime
    • ZonedDateTime

    4.1 LocalDate

    LocalDate 一般只显示日期,没有时间。这意味着我们只能获取当前日期,但没有一天的具体时间。

    LocalDate date = LocalDate.now(); // get the current date 
    

    我们可以通过format来转换它:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");  
    System.out.println(date.format(formatter));  
    

    就得到了以下结果,但只有年月日:

    25-11-2018 
    

    4.2 LocalTime

    LocalTime 则与 LocalDate 相反,它只能获取时间,而不能获取日期。

    LocalTime time = LocalTime.now(); // get the current time  
    

    通过以下方式format:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");  
    System.out.println(time.format(formatter));
    

    得到结果,只有时间,没有日期:

    00:55:58 
    

    4.3 LocalDateTime

    LocalDateTime 顾名思义,就是将以上两者联系起来,即可以获取日期,又可以获取时间。因此, LocalDateTime 是Java中最常用的 Date/Time 类。

    LocalDateTime dateTime = LocalDateTime.now(); // get the current date and time 
    

    一样的format方式:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");  
    System.out.println(dateTime.format(formatter)); 
    

    得到结果:

    25-11-2018 00:57:20 
    

    4.4 ZonedDateTime

    ZoneDateTime 在 Java 8 日期时间 API 的类表示日期和时间时区信息。ZonedDateTime 一般是不可改变的,这意味着该类的对象执行计算的所有方法都会返回一个新的 ZonedDateTime 实例:

    创建方式:

    ZonedDateTime ZonedDateTime = ZonedDateTime.now();
    

    可以通过以下方法访问实例的日期和时间字段:
    在这里插入图片描述
    日期和时间的计算方法:
    在这里插入图片描述

    5、 总结

    通过本文的介绍,大致地了解了 Java 中获取日期和时间的方法,以及使用 Java 8 中全新 API 来获取日期和时间。

  • 相关阅读:
    css 滚动贴合
    【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 上篇
    Spring系列十:Spring MVC深度学习
    Ubuntu上安装配置Nginx
    虹科案例 | 虹科HiveMQ助力实现百万辆汽车智能互联
    2023/09/30
    生产过程建模在MES管理系统中的重要性
    Python整理本机Mp3音乐文件
    袋鼠云数栈产品中 AI+ 实现原理剖析
    OmniPlan Pro for Mac v4.8.0中文激活版 项目流程管理工具
  • 原文地址:https://blog.csdn.net/qq_42926722/article/details/127096254