Java8的日期时间处理
代码:
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的日期时间处理的更多相关文章
- 基于Java8的日期时间工具类DateTimeFormatter
原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...
- 详解Java8的日期和时间API
详解Java8的日期和时间API 在JDK1.0的时候,Java引入了java.util.Date来处理日期和时间:在JDK1.1的时候又引入了功能更强大的java.util.Calendar,但是C ...
- java8 中的时间和数据的变化
java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整, Stream 有几个常用函数: store 排序 (a,b)-> a.compareTo(b) 排出来的结果是正 ...
- Java8 日期/时间(Date Time)使用简介
特别说明: LocalDateTime 为日期时间的计算提供了很大的方便, 在构造对象/运算/toString等方便都非常便利. 3个常用的类: java.time.LocalDateTime; ja ...
- java8新的时间日期库及使用示例
转自:https://www.cnblogs.com/comeboo/p/5378922.html 来自:Java译站 链接:http://it.deepinmind.com/java/2015/03 ...
- Java8学习笔记(九)--日期/时间(Date Time)API指南
Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...
- Java8获取当前时间、新的时间日期类如Java8的LocalDate与Date相互转换、ZonedDateTime等常用操作包含多个使用示例、Java8时区ZoneId的使用方法、Java8时间字符串解析成类
下面将依次介绍 Date转Java8时间类操作 ,Java8时间类LocalDate常用操作(如获得当前日期,两个日期相差多少天,下个星期的日期,下个月第一天等) 解析不同时间字符串成对应的Java ...
- Java8 中的时间和日期 API
1. 日期和时间概述 LocalDate,LocalTime,LocalDateTime类的实例是不可变的对象,分别表示使用 ISO-8601 日历系统 的日期,时间,日期和时间;它们提供了简单的日期 ...
- [转] Java8 日期/时间(Date Time)API指南
[From] http://www.importnew.com/14140.html Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间 ...
随机推荐
- 谁先执行?props还是data或是其他? vue组件初始化的执行顺序详解
初入vue的朋友可能会疑惑,组件初始化的时候,created,props,data到底谁先执行? 今天,我就带大家从源码的角度看看到底谁先执行? 我们知道,vue是个实例 那我们就从new Vue() ...
- JS学习第八天
DOM访问列表框.下拉菜单的常用属性: form返回列表框.下拉菜单所在的表单对象; length返回列表框.下拉菜单的选项个数; options返回列表框.下拉菜单里所有选项组成的数组; defau ...
- C#LeetCode刷题之#290-单词模式(Word Pattern)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3778 访问. 给定一种 pattern(模式) 和一个字符串 s ...
- three.js 着色器材质内置变量
这篇郭先生说一下three.js着色器的内置变量,分别是 gl_PointSize:在点渲染模式中,控制方形点区域渲染像素大小(注意这里是像素大小,而不是three.js单位,因此在移动相机是,所看到 ...
- IOS 单例崩溃分析 2014-12-10 15:46:36
单例模式是常用的模式,但是在单例应用中偶或引发崩溃让人匪夷所思.其实真的是单例引起的吗?未必.但是现象都指向了是单例引起的.今天我亲身经历了看似崩溃在单例上的一个例子,但实则不是,今天做个记录用于今后 ...
- 根据字典内的键值修改另一个字典的value
需求:根据传入字典的key1,将value1循环替换到已知字典内相同key的value def dispose_dict(input_parameter,fixed_parameter): for i ...
- Jmeter 常用函数(17)- 详解 __substring
如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 从字符串中获取指定范围的子串 语法格式 ...
- lombook插件的说明
lombok是一个可以帮助我们简化java代码编写的工具类,尤其是简化javabean的编写,即通过采用注解的方式,消除代码中的构造方法,getter/setter等代码,使我们写的类更加简洁,当然, ...
- c++线性表和数组的区别
在传统C语言程序中,描述顺序表的存储表示有两种方式:静态方式.动态方式 顺序表的静态存储表示: #define maxSize 100 typedefintT; typedefstruct{ T da ...
- Deep and Beautiful. The Reward Prediction Error Hypothesis of Dopamine
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Contents: Abstract 1. Introduction 2. Reward-Prediction Error Meets D ...