代码:

package com.ufo.java8datetime;

import java.time.Clock;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; public class Java8DateTime {
public static void main(String[] args) {
// 取今天日期
LocalDate today=LocalDate.now();
System.out.println("Today's date="+today);
System.out.println("Today's year="+today.getYear());
System.out.println("Today's month="+today.getMonthValue());
System.out.println("Today's day="+today.getDayOfMonth()); // 特定日期
LocalDate devoiceDay=LocalDate.of(2020, 1, 16);
System.out.println("Devoice date="+devoiceDay); // 日期相等比较
if(today.equals(devoiceDay)==false) {
System.out.println("today !=devoiceDay ");
} // 一周后
LocalDate aWeekLater=today.plus(1, ChronoUnit.WEEKS);
System.out.println("A week later="+aWeekLater); // 一年前
LocalDate aYearBefore=today.plus(-1, ChronoUnit.YEARS);
System.out.println("A Year before="+aYearBefore); // 日期比较
LocalDate longAgo=LocalDate.of(2000, 1, 1);
if(longAgo.isBefore(aYearBefore)) {
System.out.println(longAgo+" is before "+aYearBefore);
} // 日期比较
if(today.isAfter(aYearBefore)) {
System.out.println(today+" is after "+aYearBefore);
} // 年份差
Period years=Period.between(longAgo, aYearBefore);
System.out.println("There are "+years.getYears()+" years between "+longAgo+" "+aYearBefore); // 当前时间
LocalTime currTime=LocalTime.now();
System.out.println("Current time="+currTime); // 时间加
LocalTime threehoursLater=currTime.plusHours(3);
System.out.println("3 hours later="+threehoursLater); // 取毫秒时间戳
Clock clock=Clock.systemUTC();
System.out.println(clock.millis()+" == "+System.currentTimeMillis()); // 日期转字符串
DateTimeFormatter format1=DateTimeFormatter.ofPattern("yyyy年MM月dd日");
System.out.println(today.format(format1)); // 字符串转日期
LocalDate date1=LocalDate.parse("1644年03月14日", format1);
System.out.println(date1);
}
}

输出:

Today's date=2020-01-20
Today's year=2020
Today's month=1
Today's day=20
Devoice date=2020-01-16
today !=devoiceDay
A week later=2020-01-27
A Year before=2019-01-20
2000-01-01 is before 2019-01-20
2020-01-20 is after 2019-01-20
There are 19 years between 2000-01-01 2019-01-20
Current time=20:40:57.528
3 hours later=23:40:57.528
1579524057528 == 1579524057528
2020年01月20日
1644-03-14

2020年1月20日

Java8的日期时间处理的更多相关文章

  1. 基于Java8的日期时间工具类DateTimeFormatter

    原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...

  2. 详解Java8的日期和时间API

    详解Java8的日期和时间API 在JDK1.0的时候,Java引入了java.util.Date来处理日期和时间:在JDK1.1的时候又引入了功能更强大的java.util.Calendar,但是C ...

  3. java8 中的时间和数据的变化

    java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整, Stream 有几个常用函数: store 排序 (a,b)-> a.compareTo(b)  排出来的结果是正 ...

  4. Java8 日期/时间(Date Time)使用简介

    特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利. 3个常用的类: java.time.LocalDateTime; ja ...

  5. java8新的时间日期库及使用示例

    转自:https://www.cnblogs.com/comeboo/p/5378922.html 来自:Java译站 链接:http://it.deepinmind.com/java/2015/03 ...

  6. Java8学习笔记(九)--日期/时间(Date Time)API指南

    Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...

  7. Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类

     下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...

  8. Java8 中的时间和日期 API

    1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...

  9. [转] Java8 日期/时间(Date Time)API指南

    [From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间 ...

随机推荐

  1. 谁先执行?props还是data或是其他? vue组件初始化的执行顺序详解

    初入vue的朋友可能会疑惑,组件初始化的时候,created,props,data到底谁先执行? 今天,我就带大家从源码的角度看看到底谁先执行? 我们知道,vue是个实例 那我们就从new Vue() ...

  2. JS学习第八天

    DOM访问列表框.下拉菜单的常用属性: form返回列表框.下拉菜单所在的表单对象; length返回列表框.下拉菜单的选项个数; options返回列表框.下拉菜单里所有选项组成的数组; defau ...

  3. C#LeetCode刷题之#290-单词模式(Word Pattern)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3778 访问. 给定一种 pattern(模式) 和一个字符串 s ...

  4. three.js 着色器材质内置变量

    这篇郭先生说一下three.js着色器的内置变量,分别是 gl_PointSize:在点渲染模式中,控制方形点区域渲染像素大小(注意这里是像素大小,而不是three.js单位,因此在移动相机是,所看到 ...

  5. IOS 单例崩溃分析 2014-12-10 15:46:36

    单例模式是常用的模式,但是在单例应用中偶或引发崩溃让人匪夷所思.其实真的是单例引起的吗?未必.但是现象都指向了是单例引起的.今天我亲身经历了看似崩溃在单例上的一个例子,但实则不是,今天做个记录用于今后 ...

  6. 根据字典内的键值修改另一个字典的value

    需求:根据传入字典的key1,将value1循环替换到已知字典内相同key的value def dispose_dict(input_parameter,fixed_parameter): for i ...

  7. Jmeter 常用函数(17)- 详解 __substring

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 从字符串中获取指定范围的子串 语法格式 ...

  8. lombook插件的说明

    lombok是一个可以帮助我们简化java代码编写的工具类,尤其是简化javabean的编写,即通过采用注解的方式,消除代码中的构造方法,getter/setter等代码,使我们写的类更加简洁,当然, ...

  9. c++线性表和数组的区别

    在传统C语言程序中,描述顺序表的存储表示有两种方式:静态方式.动态方式 顺序表的静态存储表示: #define maxSize 100 typedefintT; typedefstruct{ T da ...

  10. Deep and Beautiful. The Reward Prediction Error Hypothesis of Dopamine

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: Abstract 1. Introduction 2. Reward-Prediction Error Meets D ...