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从一开始就没有对日期时间 ...
随机推荐
- Tomcat Windows 开机自启
在命令提示符中,进入 tomcat 的 bin 目录,执行命令,注册服务 service.bat install 在"服务"中,将 tomcat 服务设为自动
- Python3 连接 Oracle 数据库
Python3 连接 Oracle 数据库 需要导出一些稍微复杂的数据,用Python处理很方便 环境 Win10 Python 3.7.0 Oracle 11g 安装依赖 安装 cx_Oracle ...
- Navicat Premium 安装破解
软件官网 : https://www.navicat.com.cn/ Navicat Premium 12 下载地址:https://www.lanzous.com/i9j0syf 密码:7pup N ...
- C++ 的字符串反转
C++ 的字符串反转 方法一: 使用 algorithm 中的 reverse 函数: // reverse 函数的定义(在 std 名称空间中) template<class BidirIt& ...
- java二进制表示形式与移位操作符
java二进制表示形式 java中数字的二进制表示形式称为"有符号的二进制补码",下面先介绍原码,反码,补码. 编码 计算方法 原码 用最高位表示符号位,'1'表示负号,'0'表示 ...
- java 增强for循环与泛型
一 增强for循环 增强for循环是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的.它的内部 原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作 ...
- ASP.NET Core 奇技淫巧之接口代理转发
前言 先讲讲本文的开发背景吧.. 在如今前后端分离的大背景下,咱的客户又有要求啦~ 要前后端分离~ 然因为种种原因..没办法用用纯前端的框架(其实是学习成本高,又没钱请前端开发人员)... 所以最终决 ...
- Mybatis-03-日志
日志 1 日志工厂 如果一个数据库操作,出现了异常,需要排错,此时需要日志. 曾经:sout debug 现在:日志工厂 logImpl SLF4J/log4j(掌握)/log4j2 设置中可以设定日 ...
- Java引用类型之软引用(1)
Java使用SoftReference来表示软引用,软引用是用来描述一些“还有用但是非必须”的对象.对于软引用关联着的对象,在JVM应用即将发生内存溢出异常之前,将会把这些软引用关联的对象列进去回收对 ...
- three.js UV映射简述
今天郭先生来说一说uv映射,什么是uv映射?uv映射就是将二维的贴图映射到对象的一个面(或者多个面)上.说到这个问题,我们就不得不了解一下Geometry的点.面和uv的结构.我们以BoxGeomet ...