java 8 date time,Java8 日期/时间(Date Time)API指南
示例方法的详解都包含在注释内,当我们运行程序时,可以得到以下输出:
Current Date=2014-04-28
Specific Date=2014-01-01
Current Date in IST=2014-04-29
365th day from base date= 1971-01-01
100th day of 2014=2014-04-10
2. java.time.LocalTime:LocalTime是一个不可变的类,它的实例代表一个符合人类可读格式的时间,默认格式是hh:mm:ss.zzz。像LocalDate一样,该类也提供了时区支持,同时也可以传入小时、分钟和秒等输入参数创建实例,我们来看一个简单的程序,演示该类的使用方法。
package com.journaldev.java8.time;
import java.time.LocalTime;
import java.time.ZoneId;
/**
* LocalTime Examples
* @author pankaj
*
*/
public class LocalTimeExample {
public static void main(String[] args) {
//Current Time
LocalTime time = LocalTime.now();
System.out.println("Current Time="+time);
//Creating LocalTime by providing input arguments
LocalTime specificTime = LocalTime.of(12,20,25,40);
System.out.println("Specific Time of Day="+specificTime);
//Try creating time by providing invalid inputs
//LocalTime invalidTime = LocalTime.of(25,20);
//Exception in thread "main" java.time.DateTimeException:
//Invalid value for HourOfDay (valid values 0 - 23): 25
//Current date in "Asia/Kolkata", you can get it from ZoneId javadoc
LocalTime timeKolkata = LocalTime.now(ZoneId.of("Asia/Kolkata"));
System.out.println("Current Time in IST="+timeKolkata);
//java.time.zone.ZoneRulesException: Unknown time-zone ID: IST
//LocalTime todayIST = LocalTime.now(ZoneId.of("IST"));
//Getting date from the base date i.e 01/01/1970
LocalTime specificSecondTime = LocalTime.ofSecondOfDay(10000);
System.out.println("10000th second time= "+specificSecondTime);
}
}
当运行以上程序时,可以看到如下输出。
Current Time=15:51:45.240
Specific Time of Day=12:20:25.000000040
Current Time in IST=04:21:45.276
10000th second time= 02:46:40
3. java.time.LocalDateTime:LocalDateTime是一个不可变的日期-时间对象,它表示一组日期-时间,默认格式是yyyy-MM-dd-HH-mm-ss.zzz。它提供了一个工厂方法,接收LocalDate和LocalTime输入参数,创建LocalDateTime实例。我们来看一个简单的例子。
package com.journaldev.java8.time;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.time.ZoneId;
import java.time.ZoneOffset;
public class LocalDateTimeExample {
public static void main(String[] args) {
//Current Date
LocalDateTime today = LocalDateTime.now();
System.out.println("Current DateTime="+today);
//Current Date using LocalDate and LocalTime
today = LocalDateTime.of(LocalDate.now(), LocalTime.now());
System.out.println("Current DateTime="+today);
//Creating LocalDateTime by providing input arguments
LocalDateTime specificDate = LocalDateTime.of(2014, Month.JANUARY, 1, 10, 10, 30);
System.out.println("Specific Date="+specificDate);
//Try creating date by providing invalid inputs
//LocalDateTime feb29_2014 = LocalDateTime.of(2014, Month.FEBRUARY, 28, 25,1,1);
//Exception in thread "main" java.time.DateTimeException:
//Invalid value for HourOfDay (valid values 0 - 23): 25
//Current date in "Asia/Kolkata", you can get it from ZoneId javadoc
LocalDateTime todayKolkata = LocalDateTime.now(ZoneId.of("Asia/Kolkata"));
System.out.println("Current Date in IST="+todayKolkata);
//java.time.zone.ZoneRulesException: Unknown time-zone ID: IST
//LocalDateTime todayIST = LocalDateTime.now(ZoneId.of("IST"));
//Getting date from the base date i.e 01/01/1970
LocalDateTime dateFromBase = LocalDateTime.ofEpochSecond(10000, 0, ZoneOffset.UTC);
System.out.println("10000th second time from 01/01/1970= "+dateFromBase);
}
}
在所有这三个例子中,我们已经看到如果我们提供了无效的参数去创建日期/时间,那么系统会抛出java.time.DateTimeException,这是一种运行时异常,我们并不需要显式地捕获它。
同时我们也看到,能够通过传入ZoneId得到日期/时间数据,你可以从它的Javadoc中得到支持的Zoneid的列表,当运行以上类时,可以得到以下输出。
Current DateTime=2014-04-28T16:00:49.455
Current DateTime=2014-04-28T16:00:49.493
Specific Date=2014-01-01T10:10:30
Current Date in IST=2014-04-29T04:30:49.493
10000th second time from 01/01/1970= 1970-01-01T02:46:40
32/3<123>
java 8 date time,Java8 日期/时间(Date Time)API指南相关推荐
- Java8 日期/时间(Date Time)API指南
Java 8日期/时间( Date/Time)API是开发人员最受追捧的变化之一,Java从一开始就没有对日期时间处理的一致性方法,因此日期/时间API也是除Java核心API以外另一项倍受欢迎的内容 ...
- Java8日期时间API,Java高级多线程面试
plusNanos(int offset):增加指定纳秒 减少相关的方法 minusYears(int offset):减少指定年 minusMonths(int offset):减少指定月 minu ...
- java 判断当前时间是否为节假日_浅谈Java8日期时间处理
各位小伙伴们,我们又见面了,今天峰哥跟大家分享一下java8的全新日期时间处理API.在Java8之前,我们使用的日期时间是: java.util.Datejava.util.Calendar jav ...
- java8日期时间格式化与解析
java8日期时间格式化与解析 1. 简述 主要介绍LocalDateTime,ZonedDateTime的格式化及解析. 常见带日期时间格式: 字段名 字段值 api格式 DateTimeForma ...
- java8的时间Date比较
java8提供了新的时间接口.相对Date,Calendar,个人感觉最大的好处是对时间操作的学习成本很低,比Calendar低. 1. LocalDate,LocalTime,LocalDateTi ...
- java重复造轮子系列篇-----时间date
2019独角兽企业重金招聘Python工程师标准>>> 时间操作工具类 package org.jeecgframework.core.util;import java.beans. ...
- oracle date类型,oracle 日期时间数据类型
The DATE data type The TIMESTAMP data types: TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL ...
- linux可以修改日期格式吗,如何在Linux中使用date命令修改日期时间
Linux中可使用date命令查看修改日期及时间,本例中以CentOS6为例说明. 1.直接输入"date"可查看当前系统日期及时间(普通用户即可执行此命令). 2.输入" ...
- linux中date命令详解,Linux使用date命令修改日期时间详解linux操作系统 -电脑资料...
在linux中我们只要使用ROOT管理员进入然后就可以直接使用date函数来修改服务器的日期时间了,如date -s 2013-08-03就设置成功了,下面我来来看看date用法 Linux 时间修改 ...
最新文章
- 3.1.1 计算机网络之数据链路的基本概念和功能概述
- sql server 2008 年累计数_MySQL高阶问题:server层和存储引擎层是如何交互的?
- 你自己的3D建模软件(准备00)——作者的话
- 计算机学科技术前沿:第31次中国互联网络发展状况统计报告
- FPGA中数的表示方法
- AS3改变显示对象亮度
- 适合独自一人宅在家必追十部影片推荐下载观看
- WPF子线程更新UI
- android js桥接,聊一聊桥接(JSBridge)的原理(下)
- 数据增强:图片加雾效果实现Python
- 3、	如何搭建高德离线地图服务
- K8s - 让Master也能当作Node使用的方法
- rgret白鹭 开发html游戏,白鹭推HTML5首款生态产品Egret Runtime
- 大数据需要学习哪些技术?
- 在Linux7关机命令,linux关机命令
【使用指南】
- tiny4412 裸机程序 八、重定位到DRAM及LCD实验
- Web-10(37-40)-BUUCTF平台
- 中微SC8F5771模拟IIC通信——指令运行速度的探索(附编译软件与烧录软件)
- [论文总结] 深度学习在农业领域应用论文笔记
- java map date_时间转换与map集合
热门文章
- spring data elasticsearch 对应 elasticsearch 版本
- 用java做登录界面_求用JAVA编写的登陆界面!
- ERROR: Could not install packages due to an OSError: [Errno 28] 设备上没有空间
- the process cannot access the file because it is being used by another process
- Git与GitHub学习笔记(六)使用 Github Pages 管理项目文档
- 韩企全球首造72层3D NAND芯片 下半年或量产
- 列表页的动态条件搜索
- 网络编程中的常见陷阱之 0x十六进制数(C++字面值常量)
- 在将hibernate的session托管给spring过程中的问题
- 软件生命周期模型 -------- 瀑布模型 和 原型模型