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

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.mfbz.cn/a/604797.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Dockerfile实践java项目

目的:用java项目测试dockerfil部署(前提是安装好了docker) 部署准备文件如下 1. java项目 java项目demo地址 https://gitee.com/xiaoqu_12/dockerfileDemo.git 或者百度网盘直接下载打包好的jar包 链接:https://pan.baidu.com/s/…

Ansible---inventory 主机清单

一、inventory 主机清单 1.1、inventory介绍 hosts配置文件位置:/etc/ansible/hosts Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。 1.2、inventory中的变量 Inventory变量名含义…

数值计算方法——大题题型总结

目录 一、绝对误差限、相对误差限 1.1 例题 1.2 解题套路 1.3 题解 二、敛散性、收敛速度 2.1 例题 2.2 解题套路 2.3 题解 三、牛顿迭代法 3.1 例题 3.2 解题套路 3.3 题解 四、割线法 4.1 例题 4.2 解题套路 ​4.3 题解 五、列主元素消去法 5.1 例题 5.…

新版Idea配置仓库教程

这里模拟的是自己搭建的本地仓库环境,基于虚拟机搭建利用gogs创建的仓库 1、Git环境 你需要准备好git和仓库可以使用github 、gitee等 1.1 拉取代码 本项目使用 Git 进行版本控制,在 gogs 上创建一个个人使用的 git 仓库: http://192.168.…

【Linux】项目自动化构建工具make/makefile的简单使用

使用步骤 1) 编写 创建 makefile 文件 vim makefile用 vim 打开名为 makefile 的文件,存在该文件则打开编辑,不存在则创建并打开.在 makefile 文件中编写需要编译的文件 test:test.cppg -o test test.cpp第一行: 冒号左侧为编译后的可执行文件名,可以随便取. 冒号右侧为依赖…

vue2项目升级到vue3经历分享4

后端重构,如果接口做好抽象封装,只需要考虑jar之间的兼容性问题,jdk版本不变,基本不用做太大的调整,但是前端就不一样,除了vue框架本身,css的调整,改起来更是让人头疼。前面写了vue2…

Linux与windows网络管理

文章目录 一、TCP/IP1.1、TCP/IP概念TCP/IP是什么TCP/IP的作用TCP/IP的特点TCP/IP的工作原理 1.2、TCP/IP网络发展史1.3、OSI网络模型1.4、TCP/IP网络模型1.5、linux中配置网络网络配置文件位置DNS配置文件主机名配置文件常用网络查看命令 1.6、windows中配置网络CMD中网络常用…

C++进阶之路:深入理解编程范式,从面向过程到面向对象(类与对象_上篇)

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

Mysql 基础 - 常见 子句

算数运算符 > < > < !/<> 逻辑运算符 3i in is null is not null 2l limit like 2o or 、order by 1a and ib between and 1n not and、or 、not、 in、 orderby、 limit、 like、 between...and、 is null 、is not null

我独自升级崛起怎么下载 游戏下载教程分享

《我独自升级&#xff1a;崛起》这款游戏核心聚焦于激烈的战斗与角色的持续成长。新加入的玩家首要任务是熟悉基础攻击模式&#xff0c;随后深入探索技能组合策略与连贯招式的艺术&#xff0c;同时掌握防守与躲避技巧&#xff0c;这些都是战斗中不可或缺的关键。随着战斗的持续…

那个在买珠宝的年轻人

金价搭上过山车&#xff0c;今年以来价格一路飙涨。 珍珠身价同步飙升&#xff0c;晋级珠宝圈“新宠”。 文玩圈“减龄”&#xff0c;盘珠串不再只是“老头乐”。 月薪3000的年轻人&#xff0c;悄悄实现“宝石”自由。 黄金珠宝走俏&#xff0c;这届年轻人到底有着怎样的珠宝…

Baidu Comate智能编码助手 -----AI编程帮你解放双手

目录 Baidu Comate是什么&#xff1f; Baidu Comate如何安装&#xff1f; 在VSCode上安装Baidu Comate插件 Baidu Comate如何使用&#xff0c;有哪些功能&#xff1f; 1.代码解释 2.代码注释 使用感受 如何体验 Baidu Comate是什么&#xff1f; Baidu Comate智能编码助手…

网络编程入门之UDP编程

欢迎各位帅哥美女来捧场&#xff0c;本文是介绍UDP网络编程。在这里&#xff0c;你会见到最详细的教程&#xff1b;细致到每一行代码&#xff0c;每一个api的由来和使用它的目的等。 目录 1.UDP相关API 1.1.两个类 1.2.两个类中的方法 2.UDP编程 2.1.大体框架 2.2.内容构…

修改el-checkbox样式

一定要在最外层&#xff1b; //未选中框/deep/ .el-checkbox__inner{border-color: #0862a3;}//选中框/deep/ .el-checkbox__input.is-checked .el-checkbox__inner{background-color: #0862a3;border-color: #0862a3;}//未选中框时右侧文字/deep/ .el-checkbox__label{}//选中…

企业做网站,如何设计才有创意?

企业做网站&#xff0c;如何设计才有创意&#xff1f;我们都希望能打造一个有创意的网站建设&#xff0c;能在众多网站中脱颖而出&#xff0c;能够营销推广公司的产品&#xff0c;为公司带来更多的经济效益收益。广州网站建设的时候&#xff0c;记住直观的设计可以让用户体验更…

Terrain —— Nodes

目录 Convert HeightField —— 转化高度场 HeightField —— 为地形创建初始高度场或遮罩场 HeightField Blur —— 模糊高度场或遮罩场 HeightField Clip —— 限制高度场的值 HeightField Combine Layers —— 将多个volume或VDB合并为一个新的volume或VDB HeightFiel…

C++浮点数format时的舍入问题

C浮点数format时的舍入问题 首先有这样一段代码&#xff1a; #include <iostream> #include <stdio.h> using namespace std;int main() {cout << " main begin : " << endl;printf("%.0f \r\n", 1.5);printf("%.0f \r\n&…

2024副业指南:年轻人热捧的七大赚钱副业,在家就能做!做得好的月入过万了

副业&#xff0c;听起来就像是在主业之外的“小打小闹”&#xff0c;但你知道吗&#xff1f;很多人通过副业实现了财务自由&#xff0c;甚至有的人副业收入超过了主业&#xff01; 今天&#xff0c;就让我们一起探索那些适合你的副业机会&#xff0c;让你在工作之余也能成为收入…

3D模型素材有哪些常见的用途?

3D模型素材已经成为了设计、游戏开发、电影制作和建筑等领域的重要工具。它们以其独特的形式和丰富的细节&#xff0c;为这些领域的专业人士提供了无尽的创作可能性。 1.建筑和室内设计&#xff1a;在建筑设计中&#xff0c;3D模型可以帮助建筑师更直观地展示设计方案&#xff…

oracle试用期过期,解决办法

过期重置方法&#xff0c;删除注册表&#xff0c;相当于无限试用&#xff0c;缺点每30天都要重置一次 1. window r 输入 regedit 确定&#xff0c;打开注册表 2.删除下图里的两个文件夹 3.重启 plsql,登录成功
最新文章