Instant,LocalDate,LocalTime,LocalDateTime和ZonedDateTime
Instant
封装了从 1970-01-01T00:00:00Z 开始的秒数,相当于时间戳。
主要有两个属性:
private final long seconds;
private final int nanos;
LocalDate
用于表示日期,包括年、月、日,例如 2017-12-03。
主要有三个属性:
private final int year;
private final short month;
private final short day;
LocalTime
用于表示时间,包括时、分、秒,例如 10:15:30。
主要有四个属性:
private final byte hour;
private final byte minute;
private final byte second;
private final int nano; //纳秒
LocalDateTime
符合 ISO-8601 时间表示标准,用于表示日期和时间,包括年、月、日、时、分、秒,例如 2007-12-03T10:15:30。
localdatetime 不包含时区信息。
localdatetime 只有两个属性:
private final LocalDate date; //日期
private final LocalTime time; //时间
ZonedDateTime
包含日期、时间、时区信息,例如 2007-12-03T10:15:30+01:00 Europe/Paris
主要有三个属性:
private final LocalDateTime dateTime; //时间
private final ZoneOffset offset; //相对于UTC的偏移量
private final ZoneId zone; //时区
关联
Instant,LocalDate,LocalTime,LocalDateTime 和 ZonedDateTime 共同的特征是,都是不可变和线程安全的。
共同方法
now()
获取当前时间。
LocalDateTime localDateTime = LocalDateTime.now(); //2023-10-29T15:18:15.186459200
LocalDate localDate = LocalDate.now(); //2023-10-29
of()
根据属性创建实例。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0); //2023-10-28T00:00
from()
从 temporal 创建实例。
parse()
解析字符串创建实例。
LocalDateTime parse = LocalDateTime.parse("2023-10-29T12:00:00"); //2023-10-29T12:00
get()
获取指定属性的数据,例如分钟。
with()
对日期时间进行调整,并返回调整后日期时间的副本。
主要存在两个方法,一个是 with(TemporalAdjuster adjuster),通过调整器进行调整。底层调用的是 with(TemporalField field, long newValue) 方法。
LocalDateTime with = localDateTime .with(Month.NOVEMBER) //先调整为11月.with(TemporalAdjusters.lastDayOfMonth()); //再调整为月底,结果为 2023-11-30T00:00
二是 with(TemporalField field, long newValue),通过将属性(年、月、日等)设置为新的值。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
LocalDateTime with = localDateTime.with(ChronoField.MONTH_OF_YEAR, Month.NOVEMBER.getValue()); //将月设置为11月,结果为2023-11-28T00:00
plus()
将日期时间加上指定值,并返回添加后的副本。
主要存在两种方法,一是 plus(TemporalAmount amountToAdd),参数通常为实现 TemporalAmount 接口的 Duration 和 Period,分别代表一段时间和一段日期。底层调用的是 plus(long amountToAdd, TemporalUnit unit) 方法。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
LocalDateTime plus = localDateTime.plus(Period.ofYears(1)); //将日期加上1年,结果为2024-10-28T00:00
二是 plus(long amountToAdd, TemporalUnit unit),通过将属性直接加上指定值。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
LocalDateTime plus = localDateTime.plus(1, ChronoUnit.YEARS); //将日期加上1年,结果为2024-10-28T00:00
minus()
将日期时间减去指定值,底层调用的是 plus(long amountToAdd, TemporalUnit unit)。只是将 amountToAdd 改成了负数。
until()
long until(Temporal endExclusive, TemporalUnit unit),endExclusive 为结束时间。
计算两个日期时间之间在某个属性方面的差值。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
LocalDateTime localDateTime2=LocalDateTime.of(2023,11,28,0,0);
long until = localDateTime.until(localDateTime2, ChronoUnit.MONTHS); //两个时间相差了1个月
long days = localDateTime.until(localDateTime2, ChronoUnit.DAYS); //也等同于相差了31天
format()
对代码进行格式化。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
String format = localDateTime.format(dateTimeFormatter); //结果为2023-10-28
isAfter()
判断当前时间是否晚于指定时间。
LocalDateTime localDateTime=LocalDateTime.of(2023,10,28,0,0);
LocalDateTime localDateTime2=LocalDateTime.of(2023,11,28,0,0);
boolean after = localDateTime.isAfter(localDateTime2); //false
boolean after1 = localDateTime2.isAfter(localDateTime); //true
isBefore()
判断当前时间是否早于指定时间。
isEqual()
判断当前时间是否与指定时间相等。
相互转换
能看到转换方法主要以 to,at 为前缀,并且 LocalDate,LocalTime,LocalDateTime 需要先转换为 ZonedDateTime 再转换为时间戳。
相关文章:
Instant,LocalDate,LocalTime,LocalDateTime和ZonedDateTime
Instant 封装了从 1970-01-01T00:00:00Z 开始的秒数,相当于时间戳。 主要有两个属性: private final long seconds; private final int nanos;LocalDate 用于表示日期,包括年、月、日,例如 2017-12-03。 主要有三个属性&…...
Web入门笔记
Web入门笔记 HTTP协议 超文本传输协议 规定了浏览器和服务器之间数据传输的规则,请问数据和响应数据的格式 基于TCP请求-响应模式一次请求对应一次响应无状态的协议 请问数据格式 浏览器版本:解决浏览器兼容问题。GET请求体:存放请求参数…...
Linux网络编程二(TCP三次握手、四次挥手、TCP滑动窗口、MSS、TCP状态转换、多进程/多线程服务器实现)
TCP三次握手 TCP三次握手(TCP three-way handshake)是TCP协议建立可靠连接的过程,确保客户端和服务器之间可以进行可靠的通信。下面是TCP三次握手的详细过程: 假设客户端为A,服务器为B 1、第一次握手(SYN1,seq500&…...
C#核心笔记——(一)C#和.NET Framework
C#是一种通用的,类型安全的面向对象编程语言。其目标是提高程序员生产力。 一.面向对象 C#实现了丰富的面向对象范式,包括封装、继承、多态。 C#面向对象特性包括: 统一的类型系统 类与接口 属性、方法、事件 C#支持纯函数模式 二、类型安…...
【2023年冬季】华为OD统一考试(B卷)题库清单(已收录345题),又快又全的 B 卷题库大整理
目录 专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、滑动窗口5、二叉树6、并查集7、栈 三、算法1、基础算法① 贪心算法② 二分查找③ 分治递归…...
云服务器的先驱,亚马逊云科技海外云服务器领军者
随着第三次工业革命的发展,移动互联网技术带来的信息技术革命为我们的生活带来了极大的便捷。其中,不少优秀的云服务器产品发挥了不可低估的作用,你或许听说过亚马逊云科技、谷歌GCP、IBM Cloud等优秀的海外云服务器。那么云服务器有哪些&…...
QT webengine显示HTML简单示例
文章目录 参考示例1TestWebenqine.promainwindow.hmainwindow.cppmain.cpp效果 示例2 (使用setDevToolsPage函数)main.cpp效果 参考 QT webengine显示HTML简单示例 示例1 编译器 : Desktop Qt 5.15.2 MSVC2019 64bit编辑器: QtCreator代码: TestWebenqine.pro # TestWeben…...
Spark_SQL函数定义(定义UDF函数、使用窗口函数)
一、UDF函数定义 (1)函数定义 (2)Spark支持定义函数 (3)定义UDF函数 (4)定义返回Array类型的UDF (5)定义返回字典类型的UDF 二、窗口函数 (1&…...
【Leetcode】【每日一题】【中等】274. H 指数
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/h-index/description/?envTyped…...
MySQL读写分离技术及实现方案
MySQL读写分离技术及实现方案 本文主要介绍了MySQL读写分离技术的原理、实现方案以及示例。通过使用读写分离技术,可以提高数据库的性能,降低服务器的压力。 一、MySQL读写分离技术简介 读写分离是指将数据库的读操作和写操作分别分配到不同的服务器上…...
git 推送到github远程仓库细节处理(全网最良心)
我查看了很多网上的教程都不是很好 我们先在github创建一个仓库,且初始化 readme 我们到本地文件初始化仓库 添加远程仓库 这时候我们就 git add . , git commit ,再准备git push 的时候 显示没有指定远程的分支 我们按照提示操作 提示我们要先git pull 提示我…...
算法训练|数据流中的中位数
LCR 160. 数据流中的中位数 - 力扣(LeetCode) 总结:这题自己最开始的想法是直接使用vector容器,每次取中位数的时候就进行一次排序,超时。题解很巧妙的利用大根堆和小根堆来解决问题,大根堆和小根堆各存一…...
LeetCode 2558. 从数量最多的堆取走礼物【模拟,堆或原地堆化】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
windows服务器环境下使用php调用com组件
Office设置 安装 office2013 且通过正版激活码激活 在组件服务 计算机 我的电脑 DOM 中找到 Microsoft Word 97 - 2003 文档 服务,右键属性 身份验证调整为 无 在 标识中 调整为 交互式用户 php环境设置 开启com组件扩展 在php.ini中设置 extensionphp_com_dotn…...
3DCAT+东风日产:共建线上个性化订车实时云渲染方案
近年来,随着5G网络和云计算技术的不断发展,交互式3D实时云看车正在成为一种新的看车方式。 与传统的到4S店实地考察不同,消费者可以足不出户,通过网络与终端设备即可实现全方位展示、自选汽车配色、模拟效果、快捷选车并进行个性…...
【VR开发】【Unity】【VRTK】1-无代码VRVR开发介绍
本篇开始精简讲解VRTK相关的知识。 VRTK是基于Unity的一套提供无代码VR开发的插件,这套插件开源,可商用,集合了目前可能的VR体验组件,可以让不会C#编程但想要开发VR体验的人在不写一行代码的前提下开发出心仪的VR作品。 这套组件问世后也很受欢迎,目前已经进化到了第四代…...
全国地级市最新城投债数据(2006-2023.2)
地级市-城投债数据是关于各地级市发行的城市投资建设项目资金债券的统计数据。这些数据对于研究者来说有着一定的参考价值。首先,地级市-城投债数据能够提供全国各地级市城投债发行的数量和规模情况,帮助研究者了解城市基础设施建设和经济发展的情况。其…...
vm_flutter
附件地址 https://buuoj.cn/match/matches/195/challenges#vm_flutter 可以在buu下载到。 flutter我也不会,只是这个题目加密算法全部在java层,其实就是一个异或和相加。 反编译 package k;import java.util.Stack;/* loaded from: classes.dex */ pu…...
MySQL数据库#6
Python操作mysql 在使用Python连接mysql之前我们需要先下载一个第三方的模块 pymysql的模块,导入后再进行操作。 操作步骤:1. 先连接mysql host,port,charset,username password 库,等等。 import pymysql…...
YOLO v1(2016.5)
文章目录 AbstractIntroduction过去方法存在的问题我们提出的方法解决了... Unified DetectionNetwork DesignTrainingInference Comparison to Other Detection SystemsDeformable parts modelsR-CNNOther Fast DetectorsDeep MultiBoxOverFeatMultiGrasp ExperimentsConclusi…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Robots.txt 文件
什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
