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类
用于计算日期间隔

所有的数据全出来
总结

相关文章:
JavaEE企业级开发中常用的JDK7和JDK8的时间类
JDK7时间类 全世界的时间有一个统一的计算标准 在同一条经线上的时间是一样的 格林威治时间 简称GMT 计算核心 地球自转一天是24小时 太阳直射正好是12小时 但是误差太大 现在用原子钟来代替 用铯原子震动的频率来计算时间,作为世界的标准时间UTC 中国标准时间…...
leetcode 2316.统计无向图中无法互相到达点对数
思路:并查集 其实就是连通块的一个变形题目,一般的连通块题目要我们求的是连通个数,或者能不能到达,这里反过来问了。 首先,我们用dfs也是可以做到的,在dfs中统计每一个连通块的个数,然后用乘…...
WPS二次开发系列:如何使用WPS返回的FileUri
作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(QQ:250325397) 目录 什么是FileUri 在SDK中的使用场景 打开文档时…...
python删除一个文件夹所有文件
在Python中,可以使用os模块来删除一个文件夹中的所有文件,但保留文件夹本身。以下是一个简单的例子: import osdef delete_files_in_folder(folder_path):for filename in os.listdir(folder_path):file_path os.path.join(folder_path, fi…...
overflow:hidden对解决外边距塌陷的个人理解
外边距塌陷: 子元素的上外边距大于父元素的上外边距,导致边距折叠,取两者之间最大值,即子元素外边距,导致父元素上外边距失效。 解决办法:在父元素样式添加overflow:hidden;或者border:1px solid black;(不…...
【linux软件基础知识】- 文件的概念:Linux 中的文件
Linux 中的文件 在 Linux 中,文件是存储在存储设备(例如硬盘驱动器或固态驱动器)上的数据项的集合。 文件被组织为字节序列,并由文件系统中的唯一名称来标识。 以下是 Linux 中文件的一些关键特征: 字节序列:Linux 中的文件被视为字节序列。 每个字节可以表示一个字符…...
Context capture/Pix4Dmapper/AutoCAD/CASS/EPS软件的安装流程与使用方法;土方量计算;无人机摄影测量数据处理
目录 专题一 无人机摄影测量技术应用现状及其发展 专题二 基本原理和关键技术讲解 专题三 无人机影像外业数据获取 专题四 数据处理环境建立与软件熟悉 专题五 GNSS数据土方量计算 专题六 基于无人机影像数据的正射影像制作 专题七 基于无人机影像数据的三维模型制作 专…...
算法系列之堆排序实践哪家强
1.概念 堆排序是一种树形选择排序,是对简单选择排序的有效改进和优化。 堆(heap),这里所说的堆是数据结构中的堆(对应于算法),而不是内存模型中的堆(数据存储形式,还比如:栈&#…...
01-win10安装Qt5
Qt5安装教程 下载Qt5官网下载(下载很慢)镜像网站下载(有些版本没有资源)迅雷下载(推荐)百度网盘下载(推荐)安装Qt5下载Qt5 官网下载(下载很慢) 【注意】:官网下载非常慢,没有镜像下载时常20+ Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这…...
mybatis使用及配置相关,仅做个人记录
在spring-boot项目中mybatis的配置文件在yml文件中,并没有mybatisconfig.xml文件 yml文件中配置:(来源:https://blog.51cto.com/u_16213723/8747999) mybatis:# XML文件路径,可配置多个,逗号分…...
【STM32 |新建一个工程】基于标准库(库函数)新建工程
目录 STM32开发方式 库函数文件夹 建工程步骤 库函数工程建立 建立工程总结 STM32开发方式 目前stm32的开发方式主要有基于寄存器的方式、基于标准库的方式(库函数的方式)、基于HAL库的方式基于库函数的方式是使用ST官方提供的封装好的函数&…...
C#利用ClearScript执行Javascript脚本
1,新建.netframework winform工程 2,打开nuget程序包管理界面,安装Microsoft.ClearScript.V8,Microsoft.ClearScript.V8.Native.win-x64. 3,编写Javascript脚本,另存为demo.js function testFunc(t) {return t "…...
住宅ip与数据中心ip代理的区别是什么
代理通常意味着“替代”。它是用户设备和目标服务器之间的中介,允许在不同的IP地址下上网。代理ip根据来源分类可分住宅ip与数据中心ip,二者之间区别是什么呢? 住宅ip是由互联网服务提供商(ISP)提供给家庭的IP地址。出于这个原因,…...
【计算机网络】数据链路层的功能
数据链路层的基本功能: 封装成帧透明传输差错检测 数据链路层使用的信道主要有两种 点对点信道——PPP协议广播信道——CSMA/CD协议(有线局域网)、CSMA/CA协议(无线局域网) 数据链路层所处的地位 从图中可以看出,数据从主机H1送到主机H2需要在路径中…...
信号线电路串联电阻
简介 两芯片端串联一个电阻,在靠近发送端或接收端。 一般串联的是0Ω, 22Ω, 33Ω的电阻,也可能更大。 目的 1.解决信号反射问题,吸收反射。 问题如下: pcb单端阻抗过大,而接收端是cmos输入,使得接收端…...
手机App防沉迷系统-算法
import java.util.*; public class Main{public static void main(String[] args){Scanner innew Scanner(System.in);int nInteger.parseInt(in.nextLine());//已注册app列表List<Log> listnew ArrayList<>();for(int k0;k<n;k){String[] strin.nextLine().spl…...
day3_prefixSum
一、前缀和技巧 重点 前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和 个人理解;预计算,空间换时间 1.(一维数组的前缀和)303区域和检索-数组不可变 获取闭区间值 [left,right] -> preSum[right 1] - preSum[left],其中preSum[right…...
Redis过期删除策略和内存淘汰策略有什么区别?
Redis过期删除策略和内存淘汰策略有什么区别? 前言过期删除策略如何设置过期时间?如何判定 key 已过期了?过期删除策略有哪些?Redis 过期删除策略是什么? 内存淘汰策略如何设置 Redis 最大运行内存?Redis 内…...
【计算机网络】物理层传输介质 习题3
双绞线是用两根绝缘导线绞合而成的,绞合的目的是( )。 A.减少干扰 B.提高传输速度 C.增大传输距离 D.增大抗拉强度 在电缆中采用屏蔽技术带来的好处主要是( ) A.减少信号衰减 B. 减少电磁干扰辐射 C.减少物理损坏 D. 减少电缆的阻抗 利用一根同轴电缆互连主机构成…...
智能座舱语音助手产品方案
一、用户调研与痛点分析 1.目标用户分析 用户画像 性别女性年龄50地域2-3线城市职业退休或退居二线教育中专、 大专、 本科财务家庭财务管理者爱好享受生活、 照顾家庭标签有闲有小钱二、产品定位与卖点提炼 购车目的 愉悦自我, 专属于自己的座驾: 家…...
Python异步I/O终极调优手册(含strace+py-spy+asyncio debug mode三重追踪链路图)
第一章:Python异步I/O性能瓶颈的本质洞察Python的async/await语法虽大幅简化了异步编程模型,但其底层性能瓶颈并非源于语法糖本身,而根植于事件循环调度机制、GIL对CPU密集型任务的制约,以及I/O等待与协程切换之间的隐式开销。事件…...
LFM2.5-1.2B-Thinking-GGUF惊艳效果:复杂逻辑推理题(如数理推导)分步求解
LFM2.5-1.2B-Thinking-GGUF惊艳效果:复杂逻辑推理题(如数理推导)分步求解 1. 模型能力概览 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,专为低资源环境优化设计。这个1.2B参数的模型采用GGUF格式࿰…...
Spring Boot实战:5分钟搞定CORS跨域配置(含@CrossOrigin详解)
Spring Boot实战:5分钟搞定CORS跨域配置(含CrossOrigin详解) 现代Web开发中,前后端分离架构已成为主流选择。这种架构下,前端应用运行在一个域名下,而后端API服务则部署在另一个域名。当浏览器尝试从前端向…...
从GTS-800到GTS-400:手把手教你移植C#点胶机程序到不同固高控制卡
从GTS-800到GTS-400:工业点胶系统迁移实战指南 当生产线上的点胶机控制卡需要从GTS-800更换为GTS-400时,许多工程师会发现"使用方法类似"这个说法背后隐藏着大量细节差异。去年我们团队完成了一个医疗设备点胶系统的迁移项目,原计划…...
告别手动复制!用ArcGIS字段计算器(VB/Python)批量提取字段值的保姆级教程
ArcGIS字段计算器实战指南:VB与Python高效提取字段值的深度对比 在GIS数据处理工作中,属性表字段值的部分提取是最常见却又最耗时的操作之一。想象一下,当你面对一个包含上万条记录的"BSM"字段,需要提取前6位作为行政区…...
ai辅助开发:让快马平台为你的arduino项目注入智能决策与学习能力
AI辅助开发:让快马平台为你的Arduino项目注入智能决策与学习能力 最近在做一个智能垃圾分类的小项目,用Arduino控制各种传感器和舵机来实现自动分类。这个过程中发现,手动编写所有判断逻辑和阈值调整特别耗时,于是尝试用InsCode(…...
Mermaid在线编辑器完整指南:3步制作专业图表零基础入门
Mermaid在线编辑器完整指南:3步制作专业图表零基础入门 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edito…...
PFC3D模拟含纤维混凝土材料单轴压缩破坏
PFC3D含纤维混凝土材料单轴压缩破坏模拟去年在实验室折腾PFC3D模拟含纤维混凝土压缩破坏的时候,发现这玩意儿真是让人又爱又恨。纤维像调皮的孩子,在混凝土基体里各种"搞事情",今天就跟大家唠唠这个"微观破坏现场"的观察…...
斯坦福邱肖杰:自动化组学发现的可进化多智能体框架
摘要 大型语言模型驱动的自主智能体系统与单细胞生物学的融合,有望推动生物医学发现领域的范式转变。然而,现有生物智能体系统基于单智能体架构构建,要么功能单一、要么过于泛化,仅适用于常规分析。本文介绍1种可进化…...
比迪丽AI绘画创意开发:使用Matlab进行生成效果分析
比迪丽AI绘画创意开发:使用Matlab进行生成效果分析 1. 引言 在AI绘画创作领域,比迪丽模型因其出色的角色生成能力而备受关注。但如何科学评估生成效果、量化分析风格特征,一直是创作者面临的挑战。传统的人工评估方式主观性强、效率低下&am…...
