![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
日期与时间
文章平均质量分 72
weixin_46722612
这个作者很懒,什么都没留下…
展开
-
日期与时间——最佳实践
由于Java提供了新旧两套日期和时间的API,除非涉及到遗留代码,否则我们应该坚持使用新的API。如果需要与遗留代码打交道,如何在新旧API之间互相转换呢?旧API转新API如果要把旧式的Date或Calendar转换为新API对象,可以通过toInstant()方法转换为Instant对象,再继续转换为ZonedDateTime:// Date -> Instant:Instant ins1 = new Date().toInstant();// Calendar -> Inst原创 2021-03-14 16:54:37 · 121 阅读 · 0 评论 -
Instant
这个当前时间戳在java.time中以Instant类型表示,我们用Instant.now()获取当前时间戳,效果和System.currentTimeMillis()类似:import java.time.*;public class Main { public static void main(String[] args) { Instant now = Instant.now(); System.out.println(now.getEpochSecond原创 2021-03-14 16:39:44 · 116 阅读 · 0 评论 -
DateTimeFormatter
使用旧的Date对象时,我们用SimpleDateFormat进行格式化显示。使用新的LocalDateTime或ZonedLocalDateTime时,我们要进行格式化显示,就要使用DateTimeFormatter。和SimpleDateFormat不同的是,DateTimeFormatter不但是不变对象,它还是线程安全的。线程的概念我们会在后面涉及到。现在我们只需要记住:因为SimpleDateFormat不是线程安全的,使用的时候,只能在方法内部创建新的局部变量。而DateTimeFormatt原创 2021-03-14 16:34:43 · 925 阅读 · 1 评论 -
ZonedDateTime
LocalDateTime总是表示本地日期和时间,要表示一个带时区的日期和时间,我们就需要ZonedDateTime。可以简单地把ZonedDateTime理解成LocalDateTime加ZoneId。ZoneId是java.time引入的新的时区类,注意和旧的java.util.TimeZone区别。要创建一个ZonedDateTime对象,有以下几种方法,一种是通过now()方法返回当前时间:import java.time.*;public class Main { public原创 2021-03-14 16:11:07 · 664 阅读 · 0 评论 -
LocalDateTime
从Java 8开始,java.time包提供了新的日期和时间API,主要涉及的类型有:本地日期和时间:LocalDateTime,LocalDate,LocalTime;带时区的日期和时间:ZonedDateTime;时刻:Instant;时区:ZoneId,ZoneOffset;时间间隔:Duration。以及一套新的用于取代SimpleDateFormat的格式化类型DateTimeFormatter。和旧的API相比,新API严格区分了时刻、本地日期、本地时间和带时区的日期时间,并且原创 2021-03-14 13:14:11 · 284 阅读 · 0 评论 -
Date和Calendar
在计算机中,应该如何表示日期和时间呢?我们经常看到的日期和时间表示方式如下:2019-11-20 0:15:00 GMT+00:002019年11月20日8:15:0011/19/2019 19:15:00 America/New_York如果直接以字符串的形式存储,那么不同的格式,不同的语言会让表示方式非常繁琐。在理解日期和时间的表示方式之前,我们先要理解数据的存储和展示。当我们定义一个整型变量并赋值时:int n = 123400;编译器会把上述字符串(程序源码就是一个字符串)编原创 2021-03-14 11:11:54 · 500 阅读 · 0 评论 -
JAVA笔记——日期与时间
在计算机中,我们经常需要处理日期和时间。这是日期:2019-11-202020-1-1这是时间:12:30:592020-1-1 20:21:59日期是指某一天,它不是连续变化的,而是应该被看成离散的。而时间有两种概念,一种是不带日期的时间,例如,12:30:59。另一种是带日期的时间,例如,2020-1-1 20:21:59,只有这种带日期的时间能唯一确定某个时刻,不带日期的时间是无法确定一个唯一时刻的。本地时间当我们说当前时刻是2019年11月20日早上8:15的时候,我们说原创 2021-03-14 10:32:31 · 104 阅读 · 0 评论