JavaEE企业级开发中常用的JDK7和JDK8的时间类

news2024/11/16 12:37:49

JDK7时间类

全世界的时间有一个统一的计算标准

在同一条经线上的时间是一样的

格林威治时间 简称GMT

计算核心 地球自转一天是24小时 太阳直射正好是12小时

但是误差太大

现在用原子钟来代替

用铯原子震动的频率来计算时间,作为世界的标准时间UTC

中国标准时间等于世界标准时间加8小时

Date类

是JDK写好的一个javabean类,用来描述时间,精确到毫秒

利用空参构造创建的对象,默认表示系统当前的时间

利用有参构造创建的对象,表示指定的时间

创建对象表示一个时间

成员变量 fasttime 表示时间的毫秒值

空参方法 调用system类下的方法。

有参构造 把实参赋值给成员变量。

指的是从时间原点开始过了0毫秒后的时间

gettime方法可以获得当前时间的毫秒值

示例

打印时间原点 开始一年后 之后的时间

定义任意两个Date对象,比较哪个时间在前,哪个时间在后

对象不可直接比较 运算

要用方法把某些属性获取出来

总结

如何创建日期对象

空参构造

带参构造

如何修改时间对象里的毫秒值

如何获取时间对象里的毫秒值

SimpleDateFormat类

Date类只能是默认方式打印

这 不符合我们的阅读习惯

SimpleDateFormat

可以

把时间变为自己喜欢的格式

也可以解析时间

格式

利用空参构造创建对象

使用的是默认格式

利用带参构造创建对象

可以指定格式

ctrl alt v 可以自动生成左边 创建对象

ctrl alt m 可以抽取生成方法

创建对象的格式要和创建字符串的格式一样

然后解析

返回一个Date对象

练习1

输入字符串

用字符串接收

创建一个date对象表示

创建一个simpledateformat对象,并定义格式为年月日

转换时间

练习2

先解析时间得到毫秒值

得到date对象

再得到毫秒值

再进行判断

总结

SimpleDateFormat的两个作用

格式化

解析

如何指定格式

yyyy年MM月dd日:mm:ss

去Apl帮助文档中去找就ok了

Calendar类

为什么学习这个类呢

以前的方法

现在简化代码

只修改月份

日历 修改 再原来的基础上加1

所以Calendar类

代表了 系统当前时间的日历对象,可以单独修改

但是个抽象类

不能直接创建对象

而是通过静态方法来获取到子类对象

常用方法

示例

Date(0L)表示计算机的时间原点

月份0-11

如果获取出来的是0,就是1月

如果是11,就是12月

星期

在老外眼里,周日是一周中的第一天

1就是周日

Java为了防止我们忘记数组的索引

把索引都定义为常量

我们可以查看源码 来寻找

所以我们可以

我们可以利用查表法

将数据和索引产生对应的关系

这样就可以返回

修改年份 月份

用set方法

增加一个月,一年

总结

JDK8时间类

JDK7时间类

为什么要学习JDK8的时间类

因为简单而且方便

JDK7代码麻烦

要用日期对象计算比较毫秒值

JDK8代码简单

判断的方法

计算时间间隔的方法

安全层面

JDK7多线程环境下会导致数据安全问题

JDK8时间日期对象都是不可变的,解决了这个问题

分成四组

ZoneId类

获得时区名称 返回方式是集合

获取当前系统的默认时区

可以在系统设置里面更改日期和时间

改变时区

获得一个指定的时区

总结

Instant类

时间戳

方法大全

ctrl + alt + v 可以自动生成左边

获得当前的标准时间

根据 秒 毫秒 纳秒 获得Instant对象

获得了计算机原点的时间

秒钟

获得秒数

纳秒

获得纳秒

时间原点后过了多少纳秒

指定时区

判断系列的方法

返回值是布尔类型

减少时间系列的方法

以当前时间为基准,往前去减少时间

原有的时间对象是不会变的

会返回一个新的时间对象

增加时间系列的方法

同减少时间系列的方法

ZoneDateTime类

带有时区的时间

静态方法获取对象

减少时间增加时间

可以增加时间 年 月 日

细节

JDK8的时间对象都是不可变的

我们修改了 只能产生新的时间对象

DateTimeFormatter类

用于时间的格式化和解析

获取时间对象

解析/格式化器

格式化

格式化时间的意思是 把时间转化成我们日常可见的格式

转化成我们需要的格式

Calendar类

Localdate获得年月日

转换

调用方法

获得的月份英文大写

获得的月份数字

获得日期

获取一年中的第几天

获取星期

get开头 获取

看见要知道意思

案例

假设为联通移动发送生日祝福短信

Localtime获得时分秒

LocalDateTime 年月日时分秒

Duration类

用于计算时间间隔 秒 纳秒

Period类

用于计算日期间隔 年月日

ChronnUnit类

用于计算日期间隔

所有的数据全出来

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1643939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源版本管理系统的搭建二:SVN部署及使用

作者:私语茶馆 1. Visual SVN Server部署 SVN Server部署包括: 创建版本仓库创建用户 这些部署是通过VisualSVN Server Manager实现的,如下图: VisualSVN Server Manager(安装后自带) 1.1.SVN 初始化配…

流畅的Python阅读笔记

五一快乐的时光总是飞快了,不知多久没有拿起键盘写文章了,最近公司有Python的需求,想着复习下Python吧,然后就买了本Python的书籍 书名: 《流畅的Python》 下面是整理的一个阅读笔记,大家自行查阅&#xf…

ROS专栏—基于STM32F103的INA219电源数据采集

一、专栏介绍 这篇博客为ROS小车专栏的第一篇,自己想要做一个ROS小车,同时通过CSDN平台记录我的制作过程,为后来者提供一些参考吧,恩我也是从零开始摸索,可能会有很多错误和问题,希望大家多多包涵。 二、…

Python 全栈系列241 GFGo Lite迭代

说明 随着整个算网开发逐渐深入,各个组件、微服务的数量、深度在不断增加。由于算网是个人项目,我一直按照MVP(Minimum Viable Product )的原则在推进。由于最初的时候对架构、算法和业务的理解并没有那么深刻,所以MVP的内容还是在不断变化&…

数据结构十:哈希表

本次将从概念上理解什么是哈希表,理论知识较多,满满干货,这也是面试笔试的一个重点区域。 目录 一、什么是哈希表 1.0 为什么会有哈希表? 1.1 哈希表的基本概念 1.2 基本思想 1.3 举例理解 1.4 存在的问题 1.5 总结 二、…

基于TL431基准电压源的可调恒压恒流源的Multisim电路仿真设计

1、线性电源的工作原理 在我们日常应用里,直流电是从市电或电网中的交流电获取的。例如15V直流电压源、24V直流电压源等等。交流电变为直流电的过程大概分为一下几步: 首先,交流电通过变压器降低其电压幅值。接着,经过整流电路进…

01_SpringBoot简单搭建入门程序

目录 1、先创建一个java项目2、导入依赖3、将Java项目修改为SpringBoot项目4、编写一个测试的Controller5、测试(创建一个*.http的文件)方式1:方式2:可以直接在浏览器访问该地址方式3:使用postman也可以 1、先创建一个java项目 我的项目结构…

智能化工单助力业务运作:亿发解析工单系统的功能与适用场景

在现代企业管理中,工单系统扮演着至关重要的角色。面对市面上众多的工单系统,我们可以根据不同的依据进行分类,以更好地满足企业的需求。 1、按部署方式分类: 按照部署方式可以分为本地化部署工单系统和云端SaaS服务工单系统。 …

步态识别论文(6)GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation

摘要: 视角变化导致步态外观存在显着差异。因此,识别跨视图场景中的步态是非常具有挑战性的。最近的方法要么在进行识别之前将步态从原始视图转换为目标视图,要么通过蛮力学习或解耦学习提取与相机视图无关的步态特征。然而,这些方法有许多约…

【java9】java9新特性之Optional类改进

其实Optional类在Java8中就引入了,用于避免null检查和NullPointerException指针问题。 在Java9中,Optional类得到了进一步的改进,增加了一些新的方法,使其更加灵活和易用。 以下是一些Java9中对Optional类的改进: s…

ssm106学生公寓管理系统的设计与实现+jsp

学生公寓管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生公寓管理系统就是在这样的大环境下诞生,其可以帮助管理者在短…

python数据分析——数据分析的统计推断

数据分析的统计推断 前言一、提出问题二、统计归纳方法三、统计推断四、统计推断步骤4.1.点估计4.2.区间估计4.2.1. 总体方差已知4.2.2总体方差未知 4.3. 假设检验4.4. 假设检验的假设4.5.显著性水平 五、检验统计量六、检验方法七、拒绝域八、假设检验步骤九、重要假设检验方法…

CGAL 网格简化

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 为了提高网格处理的效率,通常需要将过于冗长的3D数据集简化为更简洁而又真实的表示。尽管从几何压缩到逆向工程有许多应用,但简洁地捕捉表面的几何形状仍然是一项乏味的任务。CGAL中则为我们提供了一种通过变分几…

SpringBoot的ProblemDetails

1.RFC 7807 之前的项目如果出现异常,默认跳转到error页面。或者是抛出500 异常。 但是对于前后端分离的项目,Java程序员不负责页面跳转,只需要 把错误信息交给前端程序员处理即可。而RFC 7807规范就是将异常 信息转为JSON格式的数据。这个…

Golang | Leetcode Golang题解之第70题爬楼梯

题目: 题解: func climbStairs(n int) int {sqrt5 : math.Sqrt(5)pow1 : math.Pow((1sqrt5)/2, float64(n1))pow2 : math.Pow((1-sqrt5)/2, float64(n1))return int(math.Round((pow1 - pow2) / sqrt5)) }

5.Spring Security-web权限方案

设置登录的用户名和密码 1.通过配置文件设置用户名密码 spring:security:user:name: xiankejinpassword: 123456 如果没有以上配置,那么就会在后台生成一个随机密码,用户名固定位user。 2.通过配置类设置用户名密码 Configuration public class Sec…

[C++核心编程-02]----C++引用详解和使用方法分析

前言 在C中,引用是一个别名,它允许将一个已存在的变量或对象用不同的名称来访问。引用在定义时必须初始化,并且一旦初始化就不能再绑定其他对象,因此引用在声明时被初始化后就不能再改变引用对象。引用使用&符号进行声明。 引…

打印菱形

使用拆分法&#xff1a;空格和*分开打印 #include <stdio.h> int main() { int n 0; //行数 scanf("%d", &n); int i 0; //打印上半行 for (i 0; i < n; i) { int j 0; for (j 0; j < n - i - 1;…

玩comfyui踩过的坑之使用ComfyUI_Custom_NODES_ALEKPET翻译组件问题

环境&#xff1a; 秋叶安装包&#xff0c;安装ComfyUI_Custom_NODES_ALEKPET组件或者直接下载网盘中的包&#xff0c;直接解压包到comfyui根目录/custom_nodes/&#xff0c;重启后&#xff0c;按指导文件操作。 注意&#xff1a;网盘指导包中有配置好的流程json文件&#xff0…

【011】网上鲜花商店(SSM+JSP)

【011】网上鲜花商店(SSMJSP&#xff09; 一、系统情况介绍 网上鲜花商店分为前台端和后台端&#xff0c;是致力于可以便捷购花而开发的一套系统&#xff0c;可以按照不同种类进行分类管理&#xff0c;清晰客观的展示鲜花的详情信息以及价格等等&#xff0c;适合新手学习开发…