JDK中日期和时间的几个常用类浅析(五)
LocalDateTime
LocalDateTime是JDK8中才引入的类,用来表示不包含时区信息的本地日期和时间。我们可以把LocalDateTime看作是LocalDate和LocalTime的一个组合类。同样地,该类是一个不可变类,所以作用于该类对象上的方法都是返回一个该类的新对象。
通常,我们使用该类的静态工厂方法来创建该类对象。两种创建该类对象的示例代码如下:
LocalDateTime ldt1 = LocalDateTime.now();
LocalDateTime ldt2 = LocalDateTime.of(2017, 3, 31, 20, 33, 23, 123);
可以看到两种方法都非常地简单。针对该类说包含的域,该类提供了相应地get和算法算法方法,简单示例如下:
getYear()
getHour()
plusYears()
minusSeconds()
ZonedDateTime
ZonedDateTime也是JDK8中才引入的新类,用来表示含有时区信息的日期和时间。通常用来表示一个世界范围内的特点时间点。同样地,该类也是一个不可变类,所有作用于该类对象上的方法都是返回一个该类的新对象。
通常,我们使用该类的静态工厂方法来创建该类的对象,两种创建该类对喜爱那个的示例代码如下:
ZonedDateTime zdt = ZonedDateTime.now();
ZonedId zId = ZoneId.of("UTC+1");
ZonedDateTime zdt = ZoneDateTime.of(2017, 3, 31, 20, 33, 23, 123, zoneId);
可以看到,该类比LocalDateTime的区别就在于该类包含有时区信息。针对该类含有的域,该类提供了大量的便利方法,简单举例如下:
getYear();
getNano();
plusDays();
minusHours();
ZoneId
在JDK8中,使用ZoneId类来表示时区。该类的创建语法非常简单,简单示例如下:
ZoneId zoneId = ZoneId.of("UTC+1");
可以看到,时区的表示形式非常灵活,以UTC时间做参考,我们可以非常灵活地构造出希望的时区。同时,ZoneId还支持另外一种形式的时区表示法,示例代码如下:
ZoneId zoneId2 = ZoneId.of("Europe/Copenhagen");
ZoneId zoneId3 = ZoneId.of("Europe/Paris");
DateTimeFormatter
针对JDK8中新引入的那些日期和时间类,JDK8引入了一个用于在这些日期时间对象与字符串对象之间的转换工具类,名为DateTimeFormatter。 为了方便使用,该类预定于了一系列该类的常量对应,用于处理常见的日期时间与字符串转换需求。其中包含但不限于:
BASICISODATE
ISOLOCALDATE
ISOLOCALTIME
ISOLOCALDATETIME
ISOOFFSETDATE
RFC1123DATE_TIME
每个预定义的该类对象,都能处理相应的字符串格式,关于这些对象与字符串格式之间的对应关系,详见JavaDoc。
关于使用方法,我们简单举例如下:
DateTimeFormatter f = DateTimeFormatter.BASICISODATE;
String fd = f.format(LocalDate.now());
System.out.println(fd);
这个示例的输出结果可能如下所示:
20170331
总结
经过五篇文章的讲解,JDK7与JDK8中的两套新旧日期与时间API,我们就讲解的差不多了。关于更多的细节和注意点,就需要在实际工作中慢慢累积了。
JDK中日期和时间的几个常用类浅析(五)的更多相关文章
- JDK中日期和时间的几个常用类浅析(二)
java.util.Calendar JDK中的java.util.Calendar类主要是用来处理日期和时间相关的算法运算.当你需要做一些关于日期和时间的高级算数操作时,此类可能就是你的最好选择 ...
- JDK中日期和时间的几个常用类浅析(四)
java.time.Instant java.time.Instant类对应的是时间线上的一个时间点.该类通过保存着从格林威治的起始时间(1970年一月一日零点零分)开始计算所经过的纳妙数来表示时 ...
- JDK中日期和时间的几个常用类浅析(三)
java.text.SimpleDateFormat SimpleDateFormat类是用于把字符串解析成日期时间和把日期时间格式化成字符串的工具类.该类主要和java.util.Date类配合 ...
- Python中日期和时间格式化输出的方法
本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...
- 5 个关于 API 中日期和时间设计规则
规则 #1 使用ISO-8601格式作为你的日期格式 ISO 8601 解决了很多问题,包括: 自然排序 - 简单和优雅,免去多余的工作即可实现排序 时区偏移 - 代表用户的地点和时区在日益增长的全球 ...
- PHPExcel对于Excel中日期和时间类型的处理
PHPExcel是一款优秀的处理Excel文件读写的开源PHP Library,能够给我们提供强大的Excel读写能力,本文针对Excel处理过程中关于日期和时间类型的处理进行深入的讨论.PHPExc ...
- SqlServer中日期和时间数据类型及函数 【转】
来源:http://blog.csdn.net/royalwzy/article/details/6446075 日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型. 数据 ...
- JAVA中日期和时间的格式化选项
一.使用printf方法 import java.util.Date; import java.util.Scanner; public class Test { public static void ...
- Oracle中日期和时间类函数
首先,在oracle中如何表示日期 操作日期时,应使用to_date('date','dateType')函数得到date类型,其中date为任意格式的日期,dateType指定其格式,如to_dat ...
随机推荐
- Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。
package Collection; import java.util.LinkedList; /* LinkedList:特有的方法 addFirst()/addLast(); getFirst( ...
- PHP 用session与gd库实现简单验证码生成与验证的类
验证码是为了防止机器灌水给网站带来污染以及增加服务器负担而出现的.目前大大小小的网站都有验证码.今天自己实现了一个简单的验证码类.说简单是因为没有加一些干扰的弧线等等,只是将文字旋转了一下.当然,因为 ...
- 游戏UI框架设计(二) : 最简版本设计
游戏UI框架设计(二) --最简版本设计 为降低难度决定先讲解一个最简版本,阐述UI框架的核心设计理念.这里先定义三个核心功能: 1:UI窗体的自动加载功能. 2:缓存UI窗体. 3:窗体生命周期(状 ...
- Python 接口测试(一)
@font-face { font-family: "Times"; }@font-face { font-family: "宋体"; }@font-face ...
- [Hadoop] - 自定义Mapreduce InputFormat&OutputFormat
在MR程序的开发过程中,经常会遇到输入数据不是HDFS或者数据输出目的地不是HDFS的,MapReduce的设计已经考虑到这种情况,它为我们提供了两个组建,只需要我们自定义适合的InputFormat ...
- TJOI2015 day1解题报告
博客园的编辑器真的是太蛋疼了= =,想用tex然后上jpg又贴不了链接,真的很纠结啊= = T1:[TJOI2015]线性代数 描述:戳上面吧= = 首先这道题我觉得是这套题最漂亮的一道题了(虽然说学 ...
- java从入门到卖肠粉系列
java从入门到卖肠粉系列 注:本教程只是从JAVA基础开始,绝对不会跟公司有任何利益冲突,更不会出现一行公司项目的代码 QQ群:9547527 推荐用土豆,百度去上传太慢,百度云在线播放还要转码.. ...
- React Native填坑之旅 -- 使用iOS原生视图(高德地图)
在开发React Native的App的时候,你会遇到很多情况是原生的视图组件已经开发好了的.有的是系统的SDK提供的,有的是第三方试图组件,总之你的APP可以直接使用的原生视图是很多的.React ...
- 用react分页显示数据
去年年底,尝试着用react写个组件化的页面! demo地址 里面有一个list页面弄了一下数据的分页展示 展示一下主要三个组件:父组件listBox.列表组件List.按钮组件PageButton ...
- 架构师之路——单一职责原则SRP (我单纯,我快乐)
定义: 不要存在多于一个导致类变更的原因.通俗地讲,一个类只做一件事情. 单一职责原则的好处: 1.类的复杂性降低,实现什么职责都有清晰明确的定义: 2.可读性提高,复杂性降低,那当然可读性提高了 ...