Java8新特性-日期时间

技术Java8新特性-日期时间 Java8新特性-日期时间1.背景Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。在旧版的 Java 中,日期时间

Java8的新功能-日期和时间。

1.背景

Java 8通过发布新的日期时间API (JSR 310)进一步加强了日期和时间的处理。

在旧版本的Java中,日期和时间API有许多问题,包括:

非线程安全?Java.util.Date是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。

不规则设计?Java中日期/时间类的定义不一致。java.util和java.sql的包中都有日期类另外,用于格式化和解析的类都是在java.text的包中定义的虽然java.util.Date同时包含日期和时间,但是java.sql.Date只包含日期,所以将其包含在java.sql包中是不合理的。另外两个类同名,这本身就是一个非常糟糕的设计。

时区处理麻烦?date类不提供国际化,也没有时区支持,所以Java引入了java.util.Calendar和java.util.TimeZone类,但它们也存在上述所有问题。

2.Java 8中java.time包下的类。

如上图所示,在java8中,java.time包主要包含以下主要类:

即时:时间戳。

持续时间:持续时间和时间差。

LocalDate:只包含日期,例如:2016年10月20日。

LocalTime:仅包括时间,例如:23:12336010。

LocalDateTime:包括日期和时间,例如:2016年10月20日,23:14336021。

期间:时间段。

ZoneOffset:时区偏移量,例如:8:00。

ZonedDateTime:带时区的时间。

时钟:一种时钟,如获取美国纽约的当前时间。

新的java.time包括所有处理日期、时间、日期/时间、时区、时刻、持续时间和时钟的操作。

本地时间和本地日期之间的差异。

LocalTime表?时间、小时、分钟和秒,LocalDate表?期间,年份?

获取当前时间。在Java8中,通过以下方式获取当前时间:

local date today=local date . now();

int year=today . getyear();

int month=today . GetMonthValue();

int day=today . getdayofmonth();

System.out.printf('年: %d月: %d日: %d t %n ',年,月,日);

指定创建日期的时间。

local date date=local date . of(2021,01,01);

查闰年直接做?LocalDate的IsLeapYear可以判断是否是闰年。

local date now date=local date . now();

//判断闰年。

boolean leapYear=now date . islapyear();

算两个?期间和之间的天数?数数

在Java 8中可能吗?类进行计算。

Period period=Period .介于(2021,1,5)的LocalDate.of(2021,2,5)之间;

在java.time.format包中。

日期时间格式化程序:时间格式化程序。

时间被格式化为指定格式的字符串:

local datetime time now=local datetime . now();

System.out.println('在格式化程序之前:' time now ');

datetime formatter datetime formatter=datetime formatter . of pattern(' yyyy-MM-DD hh :MM :s ');

string after format=datetime formatter . format(time now);

System.out.println('在formatter之后:' after format ');

输出:

格式化程序之前:2021-10-27t 11:49:37 . 4037037

格式化程序后:2021-10-27 11:49:37

该字符串的格式为时间类型:

字符串TiME format=' 2021-10-27 11:49:37 ';

//HH代表24小时制,HH代表12小时制。

datetime formatter=datetime formatter . of pattern(' yyyy-MM-DD hh :MM :s ');

local datetime local date=local datetime . parse(time format,formatter);

system . out . println(local date);

输出:

2021-10-27T11:49:37

3.比较java.util.date

时间被格式化为指定格式的字符串:

//1.将日期类型转换为具有相应格式的字符串,并且应该始终创建简单日期格式。

simpledate format SDF=new simpledate format(' yyyy-MM-DD hh :MM 3360s ');

日期日期=新日期();

String oldDate=sdf.format(日期);

system . out . println(old date);

输出:

2021-10-27 11:57:31

将字符串转换为指定格式的时间:

//2.将字符串转换为指定格式的时间,该格式始终由SimpleDateFormat创建。

simpledate format SDF=new simpledate format(' yyyy-MM-DD hh :MM 3360s ');

尝试{

date date=SDF . parse(' 2021-10-27 11:57:31 ');

System.out.println(日期);

} catch(语法分析异常e)}

e。print stack trace();

}

菲兰达:

2002年10月27日,星期三

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/51638.html

(0)

相关推荐

  • 光影-物理技术指标层面

    技术光影-物理技术指标层面 光影-物理技术指标层面光照 图像 摄像机光影
    灯光
    光照灯光的还原度在于显色性
    灯的分类筒灯 射灯 灯带 吊灯 感应小夜灯 床头壁灯 吸顶灯 香薰灯芯片和模组
    0

    礼包 2021年10月27日
  • 变脸是什么剧,究竟什么样的脸才称得上剧抛脸

    技术变脸是什么剧,究竟什么样的脸才称得上剧抛脸我觉得剧抛脸可以提名任嘉伦变脸是什么剧。所谓的剧抛脸就是同一个演员,他在演任何一部戏的时候没有他本人的影子。也没有他上一部作品的影子,演的就是这部作品中的角色。每演一部作品不

    生活 2021年10月29日
  • 怎么使用JS

    技术怎么使用JS本篇内容主要讲解“怎么使用JS”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用JS”吧!1. Function 构造函数Function()构造函数虽然

    攻略 2021年10月30日
  • 什么是Redis Cluster

    技术什么是Redis Cluster本篇内容介绍了“什么是Redis Cluster”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月4日
  • k8s运维06-kubectl delete node的过程是怎么样的

    技术k8s运维06-kubectl delete node的过程是怎么样的这期内容当中小编将会给大家带来有关k8s运维06-kubectl delete node的过程是怎么样的,文章内容丰富且以专业的角度为大家分析和叙

    攻略 2021年10月20日
  • 中国手表品牌排行榜,国产什么品牌手表质量比较好

    技术中国手表品牌排行榜,国产什么品牌手表质量比较好国产手表品牌排名第一中国手表品牌排行榜:飞亚达(国产十大品牌之一,中国著名的手表品牌,深圳手表品牌)
    国产手表品牌排名第二:罗西尼(国产十大品牌之一,中国著名的手表品牌,

    生活 2021年10月26日