java如何获取当前日期和时间(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:394 、 Date/Time API
Java 8 提供了一个全新的 API ,用来替换 Java.util.Date 和 Java.util.Calendar 。
Date/Time API 提供了多个类 ,帮助我们完成工作 ,包括以下内容:
LocalDate LocalTime LocalDateTime ZonedDateTime4.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-20184.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:584.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:204.4 ZonedDateTime
ZoneDateTime 在 Java 8 日期时间 API 的类表示日期和时间时区信息 。ZonedDateTime 一般是不可改变的 ,这意味着该类的对象执行计算的所有方法都会返回一个新的 ZonedDateTime 实例:
创建方式:
ZonedDateTime ZonedDateTime = ZonedDateTime.now();可以通过以下方法访问实例的日期和时间字段:
日期和时间的计算方法:
5 、 总结
通过本文的介绍 ,大致地了解了 Java 中获取日期和时间的方法 ,以及使用 Java 8 中全新 API 来获取日期和时间 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!