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
ISO
LOCAL
DATETIME

ISOOFFSETDATE

RFC1123DATE_TIME
每个预定义的该类对象,都能处理相应的字符串格式,关于这些对象与字符串格式之间的对应关系,详见JavaDoc。
  关于使用方法,我们简单举例如下:
DateTimeFormatter f = DateTimeFormatter.BASICISODATE;
String fd = f.format(LocalDate.now());
System.out.println(fd);
这个示例的输出结果可能如下所示:
20170331

总结

  经过五篇文章的讲解,JDK7与JDK8中的两套新旧日期与时间API,我们就讲解的差不多了。关于更多的细节和注意点,就需要在实际工作中慢慢累积了。

JDK中日期和时间的几个常用类浅析(五)的更多相关文章

  1. JDK中日期和时间的几个常用类浅析(二)

    java.util.Calendar   JDK中的java.util.Calendar类主要是用来处理日期和时间相关的算法运算.当你需要做一些关于日期和时间的高级算数操作时,此类可能就是你的最好选择 ...

  2. JDK中日期和时间的几个常用类浅析(四)

    java.time.Instant   java.time.Instant类对应的是时间线上的一个时间点.该类通过保存着从格林威治的起始时间(1970年一月一日零点零分)开始计算所经过的纳妙数来表示时 ...

  3. JDK中日期和时间的几个常用类浅析(三)

    java.text.SimpleDateFormat   SimpleDateFormat类是用于把字符串解析成日期时间和把日期时间格式化成字符串的工具类.该类主要和java.util.Date类配合 ...

  4. Python中日期和时间格式化输出的方法

    本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...

  5. 5 个关于 API 中日期和时间设计规则

    规则 #1 使用ISO-8601格式作为你的日期格式 ISO 8601 解决了很多问题,包括: 自然排序 - 简单和优雅,免去多余的工作即可实现排序 时区偏移 - 代表用户的地点和时区在日益增长的全球 ...

  6. PHPExcel对于Excel中日期和时间类型的处理

    PHPExcel是一款优秀的处理Excel文件读写的开源PHP Library,能够给我们提供强大的Excel读写能力,本文针对Excel处理过程中关于日期和时间类型的处理进行深入的讨论.PHPExc ...

  7. SqlServer中日期和时间数据类型及函数 【转】

    来源:http://blog.csdn.net/royalwzy/article/details/6446075 日期和时间数据类型 下表列出了 Transact-SQL 的日期和时间数据类型. 数据 ...

  8. JAVA中日期和时间的格式化选项

    一.使用printf方法 import java.util.Date; import java.util.Scanner; public class Test { public static void ...

  9. Oracle中日期和时间类函数

    首先,在oracle中如何表示日期 操作日期时,应使用to_date('date','dateType')函数得到date类型,其中date为任意格式的日期,dateType指定其格式,如to_dat ...

随机推荐

  1. 升级到appcompat v7 21.0.2之后遇到的问题解决方法

    1)一开始是手动直接覆盖文件到对应的lib project下,提示数个style找不到.原因是新旧版本的文件命名和结构不同,所以这个问题只需要把project目录清空,重新复制文件即可解决. 2)发现 ...

  2. c#配置文件的简单操作

    // 配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> < ...

  3. 使用Python实现子区域数据分类统计

    目录 前言 geopandas简介 子区域数据分类统计 总结 一.前言        最近碰到一个需求,需要统计某省内的所有市的某数据分布情况信息.现有该省的数据分布情况以及该省的行政区划数据.我通过 ...

  4. jenkins coding.net webhook plugin

    开源地址: https://github.com/yuzd/coding.net =========================================================== ...

  5. vim高亮设置

    vim高亮设置 前提: 查看vim是否完整安装 rpm -qa | grep vim 若完整安装,则会出现如下相关信息 vim-filesystem-7.4.629-5.el6.x86_64 vim- ...

  6. Linux下自动备份MySQL

    使用expect和mysqldump备份 expect expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. 例如,执行shell脚本的过程中,需要输入用户名.密码 ...

  7. hibernate系列笔记(3)---持久化对象

    持久化对象 再讲持久化对象之前,我们先来理解有关session中get方法与 load方法区别: 简单总结: (1)如果你使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库 ...

  8. JavaWeb之DBUtils

    一.什么是DBUtils及作用 DBUtils是apache公司写的.DBUtils是java编程中的数据库操作实用工具,小巧简单实用. DBUtils封装了对JDBC的操作,简化了JDBC操作.可以 ...

  9. 使用jQuery快速高效制作网页特效-----------------------------之jQuery事件与动画

    1.基础事件 分为三个事件 1.1 window事件 所谓window事件,就是当用户执行某些会影响浏览器的操作时,而触发的事件. 1.2 鼠标事件 鼠标事件顾名思义就是当用户在文档上移动或单击鼠标时 ...

  10. 【SysML】模块定义图(BDD, Block Definition Diagram)

    一.引言 SysML中的模块定义图,英文为 “Block Definition Diagram”,简称BDD,是系统建模过程中最为常见的图之一,BDD是一种结构图,它主要对系统的结构组成以及组成元素间 ...