Java日期和时间java。时间,java。跑龙套,java。SQL和java。文本包包含表示日期和时间的类。下面的类对于在Java中处理日期很重要。 Java 8日期/时间APIJava从Java 8开始引入了一个新的日期和时间API。java。时间包包含Java 8日期和时间类。
经典的日期/时间API但是经典的或旧的Java Date API也很有用。让我们看看经典Date和Time类的列表。
日期和时间在Java中,我们可以使用以下类格式化日期和时间: Java日期和时间apiJava在两个包的帮助下提供了日期和时间功能。Time和java.util。包java。time是在Java 8中引入的,新引入的类试图克服遗留的Java .util. date和Java .util. calendar类的缺点。 经典日期时间API类Java 8发布之前的主要类是: 有:该类提供了currentTimeMillis()方法,该方法返回以毫秒为单位的当前时间。它显示了从1970年1月1日开始的当前日期和时间,单位为毫秒。 java.util.Date:用于表示特定的时间瞬间,单位为毫秒。 java.util.Calendar:它是一个抽象类,提供了在实例之间转换和以不同方式操作日历字段的方法。 java.text.SimpleDateFormat:它是一个类,用于以预定义的方式或用户定义的模式格式化和解析日期。 java.util.TimeZone:它表示时区偏移,还表示夏令时。 现有日期/时间API的缺点
Java 8中的新日期时间API新的日期API有助于克服上面提到的遗留类的缺点。它包括以下类: java.time.LocalDate:它表示ISO日历中的年-月-日,对于表示没有时间的日期非常有用。它只能用于表示日期信息,如出生日期或结婚日期。 java.time.LocalTime:它只涉及时间。它对于表示一天中基于人的时间非常有用,比如电影时间,或者本地图书馆的开放和关闭时间。 java.time.LocalDateTime:它同时处理日期和时间,没有时区。它是LocalDate和LocalTime的组合。 java.time.ZonedDateTime:它结合了LocalDateTime类和ZoneId类中给出的区域信息。它表示一个完整的日期时间戳以及时区信息。 java.time.OffsetTime:它处理与格林威治/UTC对应的时区偏移量的时间,没有时区ID。 java.time.OffsetDateTime:它处理的日期和时间与格林威治/UTC对应的时区偏移量,没有时区ID。 java.time.Clock:它提供对任何给定时区中的当前时刻、日期和时间的访问。虽然Clock类的使用是可选的,但这个特性允许我们测试其他时区的代码,或者使用固定的时钟,其中时间不会改变。 java.time.Instant:它表示时间轴上一个纳秒的开始(从EPOCH开始),对于生成表示机器时间的时间戳非常有用。发生在纪元之前的瞬间为负值,发生在纪元之后的瞬间为正值。 java.time.Duration:两个瞬间之间的差异,以秒或纳秒来测量,并且不使用年、月和日等基于日期的结构,尽管该类提供了转换为天、小时和分钟的方法。 java.time.Period:它用于在基于日期的值(年、月、日)中定义日期之间的差异。 java.time.ZoneId:它声明了一个时区标识符,并提供了在Instant和LocalDateTime之间转换的规则。 java.time.ZoneOffset:它描述了与格林尼治/UTC时间的时区偏移。 java.time.format.DateTimeFormatter:它提供了各种预定义的格式化程序,或者我们可以定义自己的格式化程序。它有parse()或format()方法来解析和格式化日期时间值。
下一个话题
Java LocalDate类
|