java8日期加本地,日期时间API(JDK8新增)
日期时间API(JDK8新增)
JDK8出现之前
JDK8新时间日期API
LocalDate、LocalTime、LocalDateTime 的使用
类似于Calendar
LocalDateTime相较于LocalDate、LocalTime,使用频率要高
实例化
1. now():获取当前的日期、时间、日期+时间
LocalDate localDate = LocalDate.now(); // 2021-02-02
LocalTime localTime = LocalTime.now(); //14:49:05.981
LocalDateTime localDateTime = LocalDateTime.now(); //2021-02-02T14:49:05.981
2. of():设置指定的年、月、日、时、分、秒。没有偏移量
LocalDateTime localDateTime1 = LocalDateTime.of(2020, 10, 6, 13, 23, 43); // 2020-10-06T13:23:43
方法
1. getXxx():获取相关的属性 (eg. 这个月的第几天)
System.out.println(localDateTime.getDayOfWeek()); //TUESDAY
System.out.println(localDateTime.getMonth()); //FEBRUARY
System.out.println(localDateTime.getMonthValue()); // 2
System.out.println(localDateTime.getMinute()); //49
2. withXxx():设置相关的属性(不可变性-有返回值接收)
LocalDate localDate1 = localDate.withDayOfMonth(22);
System.out.println(localDate); //2021-02-02
System.out.println(localDate1); //2021-02-22
3. plusXxx():将相关的属性加上几个数(不可变性-有返回值接收)
LocalDateTime localDateTime3 = localDateTime.plusMonths(3);
System.out.println(localDateTime); //2021-02-02T14:49:05.981
System.out.println(localDateTime3); //2021-05-02T14:49:05.981
4. minusXxx():将相关的属性减去几个数(不可变性-有返回值接收)
LocalDateTime localDateTime4 = localDateTime.minusDays(6);
System.out.println(localDateTime); //2021-02-02T14:49:05.981
System.out.println(localDateTime4); //2021-01-27T14:49:05.981
Instant 的使用
相当于java.util.Date类
主要方法
实例化
1.Instant:now():获取本初子午线对应的标准时间
Instant instant = Instant.now();
System.out.println(instant); //2019-02-18T07:29:41.719Z (当前的本初子午线对应时间)
2. OffsetDateTime:Xxx.atOffset添加时间的偏移量 (改为所在地的时区)
OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
System.out.println(offsetDateTime); //2019-02-18T15:32:50.611+08:00
方法
1. toEpochMilli():获取自1970年1月1日0时0分0秒(UTC)开始的毫秒数
相当于 Date类的getTime(),即时间戳
long milli = instant.toEpochMilli(); //1612250663726
2. ofEpochMilli():通过给定的毫秒数,获取Instant实例
相当于Date(long millis)
Instant instant1 = Instant.ofEpochMilli(1612250663726L);
System.out.println(instant1); //2021-02-02T07:24:23.726Z
DateTimeFormatter:格式化或解析日期、时间
类似于SimpleDateFormat
实例化和对应的格式化与解析
方式一:预定义的标准格式
实例化
ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
格式化:日期-->字符串
LocalDateTime localDateTime = LocalDateTime.now();
String str1 = formatter.format(localDateTime);
System.out.println(localDateTime);
System.out.println(str1);//2019-02-18T15:42:18.797
解析:字符串 -->日期
TemporalAccessor parse = formatter.parse("2019-02-18T15:42:18.797");
System.out.println(parse);
方式二:本地化相关的格式
实例化
ofLocalizedDateTime()
FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT :三种方式返回的格式不同
适用于LocalDateTime
DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG);
ofLocalizedDate()
FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT: 同上
适用于LocalDate
格式化
第一种实例化(LocalDateTime)
String str2 = formatter1.format(localDateTime);
System.out.println(str2); //2019年2月18日 下午03时47分16秒
DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM);
第二种实例化(LocalDate)
String str3 = formatter2.format(LocalDate.now());
System.out.println(str3); //2019-2-18
方式三:自定义的格式 ⚠️
实例化
ofPattern(“yyyy-MM-dd hh:mm:ss”)
DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
格式化
String str4 = formatter3.format(LocalDateTime.now());
System.out.println(str4);//2019-02-18 03:52:09
解析
TemporalAccessor accessor = formatter3.parse("2019-02-18 03:52:09");
System.out.println(accessor);
java8日期加本地,日期时间API(JDK8新增)相关推荐
- Java8新特性之新时间API
Java8新特性之新时间API 一.新时间API 1.1 之前时间API存在问题:线程安全问题.设计混乱 1.2 本地化日期时间API:LoaclDate.LocalTime.LocalDateTim ...
- js日期加减一天_JS日期加减,日期运算代码
这篇文章主要介绍了JS日期加减,日期运算代码,需要的朋友可以参考下 一.日期减去天数等于第二个日期 function cc(dd,dadd){ //可以加上错误处理 var a = new Date( ...
- mysql日期加一年时间_mysql日期怎么加一年
mysql日期加一年的方法:日期增加一年,使用updata更新语句,代码为[UPDATE table SET date = DATE_ADD(date, INTERVAL 1 YEAR)]. mysq ...
- java8日期加减_java时间加减
public static void main(String[] args){ String inuput_dt=""; SimpleDateFormat sdf = new Si ...
- php dede 发布时间_dede 采集到数据后,发布日期变为本地日期解决方法
找到dede目录下的co_export.php 大概在170行左右 1 //获取时间和标题 2 $pubdate = $sortrank = time(); 3 $title = $row->t ...
- JS日期加减,日期运算
一.日期减去天数等于第二个日期 function cc(dd,dadd) ...{ //可以加上错误处理 var a = new Date(dd) a = a.valueOf() a = a - da ...
- oracle数据库日期加一,日期和Oracle数据库
我想知道Oracle环境中的哪个参数导致这个: 假设我在两台不同的服务器上有两个数据库.数据库中的数据相同. 在sql developer下我写这个查询: select to_char(date_co ...
- 小程序 : js获取今日日期、加日期、减日期; 判断今日 、判断昨日
获取今日,日期加.日期减 效果图: 选择日期大于今日时 .js代码 Page({/*** 页面的初始数据*/data: {choseDate: '', // 选择的时间week:'', //星期几on ...
- EDate(日期)标签之日期加减
功能: 用于时间计算: l 日期加减一个时间段 l 两个日期计算 别名为etime 日期加减 日期加减日期加减 日期加减用法: <edate [id=书 ...
最新文章
- TensorRT 7.2.1 开发概要(上)
- LSGO软件技术团队招新
- CVPR 2021 involution:超越convolution和self-attention的神经网络新算子
- python 操作mongodb数据库参考文档
- Android_activity的生命周期
- 将文件复制到ftp发生错误 请检查是否有权限_SE文件管理器2.8.6解锁完整功能版...
- UVA-10026 Shoemaker's Problem (贪心)
- python定义一个字符串数组_python 变量,数组,字符串
- java ee 设计模式解析与应用_Java EE 设计模式解析与应用_IT教程网
- vmware workstation 12 打开vm14 不兼容问题解决
- 李氏第二法分析稳定性matlab,9-4李雅普诺夫稳定性分析2010.ppt
- Q学习(Q learning) 强化学习的简单例子 Matlab实现 可视化
- Zabbix5 安装教程
- 神助攻or猪队友:靠AI“僚机”脱单到底有多难?
- rust多行字符串字面量
- AI美图相机原型(智能P图、AI换脸)
- js毫秒转换年月日时分秒
- Django操作数据库
- ios模拟器 - Simulator录制视频
- ctfshow node.js专题