当前位置: 首页 > news >正文

Instant 和 Duration 类(进行时间处理)

Instant 

        Instant 类是 Java 8 中引入的,用于表示一个具体的时间点,它基于 UTC(协调世界时)时区。以下是 Instant 类的一些常用方法及其简要说明:

  1. now():获取当前的 Instant 对象,表示当前时间。
  2. ofEpochSecond(long epochSecond):根据自 Unix 纪元(1970-01-01T00:00:00Z)以来的秒数创建 Instant 对象。
  3. ofEpochMilli(long epochMilli):根据自 Unix 纪元以来的毫秒数创建 Instant 对象。
  4. getEpochSecond():获取 Instant 对象表示的时间自 Unix 纪元以来的秒数。
  5. toEpochMilli():获取 Instant 对象表示的时间自 Unix 纪元以来的毫秒数,等同于 System.currentTimeMillis()
  6. getNano():获取 Instant 对象中的纳秒数,表示自上一秒以来的纳秒数。
  7. plus(Duration duration):在当前 Instant 对象上加上指定的持续时间,返回一个新的 Instant 对象。
  8. minus(Duration duration):在当前 Instant 对象上减去指定的持续时间,返回一个新的 Instant 对象。
  9. atZone(ZoneId zone):将 Instant 与时区结合以创建 ZonedDateTime 对象。
  10. truncatedTo(TemporalUnit unit):返回截断为指定单位的 Instant 对象的副本。

以下是一些代码案例:

// 获取当前时间的 Instant 对象
Instant now = Instant.now();
System.out.println("当前时间: " + now);// 根据秒数创建 Instant 对象
Instant instantFromSeconds = Instant.ofEpochSecond(1643723400L);
System.out.println("根据秒数创建的时间: " + instantFromSeconds);// 根据毫秒数创建 Instant 对象
Instant instantFromMillis = Instant.ofEpochMilli(1643723400000L);
System.out.println("根据毫秒数创建的时间: " + instantFromMillis);// 获取自 Unix 纪元以来的秒数和毫秒数
long seconds = now.getEpochSecond();
long millis = now.toEpochMilli();
System.out.println("自 Unix 纪元以来的秒数: " + seconds);
System.out.println("自 Unix 纪元以来的毫秒数: " + millis);// 获取纳秒数
int nanos = now.getNano();
System.out.println("纳秒数: " + nanos);// 在当前时间上加上一个小时
Instant oneHourLater = now.plus(Duration.ofHours(1));
System.out.println("一小时后的时间: " + oneHourLater);// 从当前时间减去 30 分钟
Instant thirtyMinutesEarlier = now.minus(Duration.ofMinutes(30));
System.out.println("三十分钟前的时间: " + thirtyMinutesEarlier);

Duration

        Duration 类是 Java 8 中引入的,用于表示两个时间点之间的时间量(例如,持续时间)。以下是 Duration 类的一些常用方法及其简要说明:

  1. ofDays(long days):创建表示指定天数的 Duration 对象。
  2. ofHours(long hours):创建表示指定小时数的 Duration 对象。
  3. ofMinutes(long minutes):创建表示指定分钟数的 Duration 对象。
  4. ofSeconds(long seconds):创建表示指定秒数的 Duration 对象。
  5. ofMillis(long millis):创建表示指定毫秒数的 Duration 对象。
  6. ofNanos(long nanos):创建表示指定纳秒数的 Duration 对象。
  7. of(long amount, TemporalUnit unit):根据指定的时间量和时间单位创建 Duration 对象。
  8. plus(long amountToAdd, TemporalUnit unit):在当前 Duration 对象上加上指定的时间量,返回一个新的 Duration 对象。
  9. minus(long amountToSubtract, TemporalUnit unit):从当前 Duration 对象减去指定的时间量,返回一个新的 Duration 对象。
  10. plus(Duration duration):在当前 Duration 对象上加上另一个 Duration 对象,返回一个新的 Duration 对象。
  11. minus(Duration duration):从当前 Duration 对象减去另一个 Duration 对象,返回一个新的 Duration 对象。
  12. toDays():将 Duration 对象转换为天数。
  13. toHours():将 Duration 对象转换为小时数。
  14. toMinutes():将 Duration 对象转换为分钟数。
  15. toSeconds():将 Duration 对象转换为秒数。
  16. toMillis():将 Duration 对象转换为毫秒数。
  17. toNanos():将 Duration 对象转换为纳秒数。
  18. getSeconds():获取 Duration 对象中的秒数部分。
  19. getNano():获取 Duration 对象中的纳秒部分。
// 创建表示特定时间量的 Duration 对象
Duration duration = Duration.ofDays(2).plusHours(3).plusMinutes(45).plusSeconds(10);
System.out.println("持续时间: " + duration);// 创建表示特定时间量的 Duration 对象(其他方法)
Duration durationHours = Duration.ofHours(5);
Duration durationMinutes = Duration.ofMinutes(30);
Duration durationSeconds = Duration.ofSeconds(15);
Duration durationMillis = Duration.ofMillis(500);
Duration durationNanos = Duration.ofNanos(123456789);// 在 Duration 对象上加上或减去时间量
Duration durationPlus = duration.plusHours(2);
Duration durationMinus = duration.minusMinutes(10);// 将 Duration 对象与其他 Duration 对象相加或相减
Duration durationPlusOther = duration.plus(Duration.ofHours(1));
Duration durationMinusOther = duration.minus(Duration.ofMinutes(5));// 转换为不同的时间单位
long days = duration.toDays();
long hours = duration.toHours();
long minutes = duration.toMinutes();
long seconds = duration.getSeconds();
int nanos = duration.getNano();// 打印结果
System.out.println("天数: " + days);
System.out.println("小时数: " + hours);
System.out.println("分钟数: " + minutes);
System.out.println("秒数: " + seconds);
System.out.println("纳秒数: " + nanos);

相关文章:

Instant 和 Duration 类(进行时间处理)

Instant Instant 类是 Java 8 中引入的,用于表示一个具体的时间点,它基于 UTC(协调世界时)时区。以下是 Instant 类的一些常用方法及其简要说明: now():获取当前的 Instant 对象,表示当前时间…...

Java每日面试题(Spring)(day19)

目录 Spring的优点什么是Spring AOP?AOP有哪些实现方式?JDK动态代理和CGLIB动态代理的区别?Spring AOP相关术语Spring通知有哪些类型?什么是Spring IOC?Spring中Bean的作用域有哪些?Spring中的Bean什么时候…...

【多线程】线程池(上)

文章目录 线程池基本概念线程池的优点线程池的特点 创建线程池自定义线程池线程池的工作原理线程池源码分析内置线程池newFixedThreadPoolSingleThreadExecutornewCachedThreadPoolScheduledThreadPool 线程池的核心线程是否会被回收?拒绝策略ThreadPoolExecutor.AbortPolicyT…...

ansible 语句+jinjia2+roles

文章目录 1、when语句1、判断表达式1、比较运算符2、逻辑运算符3、根据rc的返回值判断task任务是否执行成功5、通过条件判断路径是否存在6、in 2、when和其他关键字1、block关键字2、rescue关键字3、always关键字 3、ansible循环语句1、基于列表循环(whith_items)2、基于字典循…...

【Docker项目实战】使用Docker部署HumHub社交网络平台

【Docker项目实战】使用Docker部署HumHub社交网络平台 一、HumHub介绍1.1 HumHub简介1.2 HumHub特点1.3 主要使用场景二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载HumHub镜…...

“医者仁术”再进化,AI让乳腺癌筛查迎难而上

世卫组织最新数据显示,我国肿瘤疾病仍然呈上升趋势,肿瘤防控形势依然比较严峻。尤其是像乳腺癌等发病率较高的疾病,早诊断和早治疗意义重大,能够有效降低病死率。 另一方面,中国地域广阔且发展不平衡,各地…...

安卓流式布局实现记录

效果图&#xff1a; 1、导入第三方控件 implementation com.google.android:flexbox:1.1.0 2、布局中使用 <com.google.android.flexbox.FlexboxLayoutandroid:id"id/baggageFl"android:layout_width"match_parent"android:layout_height"wrap_co…...

-bash gcc command not found解决方案(CentOS操作系统)

以 CentOS7 为例&#xff0c;执行以下语句 : yum install gcc如果下载不成功&#xff0c;并且网络没有问题。 执行以下语句 : cp -r /etc/yum.repos.d /etc/yum.repos.d.bakrm -f /etc/yum.repos.d/*.repocurl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.…...

(二)Python输入输出函数

一、输入函数 input函数&#xff1a;用户输入的数据&#xff0c;以字符串形式返回&#xff1b;若需数值类型&#xff0c;则进行类型转换。 xinput("请入你喜欢的蔬菜&#xff1a;") print(x) 二、输出函数 print函数 输出单一数值 x666 print(x) 输出混合类型…...

从调用NCCL到深入NCCL源码

本小白目前研究GPU多卡互连的方案&#xff0c;主要参考NCCL和RCCL进行学习&#xff0c;如有错误&#xff0c;请及时指正&#xff01; 内容还在整理中&#xff0c;近期不断更新&#xff01;&#xff01; 背景介绍 在大模型高性能计算时会需要用到多卡&#xff08;GPU&#xf…...

深入理解Transformer的笔记记录(精简版本)NNLM → Word2Vec

文章的整体介绍顺序为&#xff1a; NNLM → Word2Vec → Seq2Seq → Seq2Seq with Attention → Transformer → Elmo → GPT → BERT 自然语言处理相关任务中要将自然语言交给机器学习中的算法来处理&#xff0c;通常需要将语言数学化&#xff0c;因为计算机机器只认数学符号…...

优选算法第一讲:双指针模块

优选算法第一讲&#xff1a;双指针模块 1.移动零2.复写零3.快乐数4.盛最多水的容器5.有效三角形的个数6.查找总价格为目标值的两个商品7.三数之和8.四数之和 1.移动零 链接: 移动零 下面是一个画图&#xff0c;其中&#xff0c;绿色部分标出的是重点&#xff1a; 代码实现&am…...

智能优化算法-水循环优化算法(WCA)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 水循环优化算法 (Water Cycle Algorithm, WCA) 是一种基于自然界水循环过程的元启发式优化算法&#xff0c;由Shah-Hosseini于2012年提出。WCA通过模拟水滴在河流、湖泊和海洋中的流动过程&#xff0c;以及蒸发…...

基于SpringBoot的个性化健康建议平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于智能推荐的卫生健康系统的相关信息成为…...

Mapsui绘制WKT的示例

步骤 创建.NET Framework4.8的WPF应用在NuGet中安装Mapsui.Wpf 4.1.7添加命名空间和组件 <Window x:Class"TestMapsui.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winf…...

Modbus TCP 西门子PLC指令以太口地址配置以及 Poll Slave调试软件地址配置

1前言 本篇文章讲了 Modbus TCP通讯中的一些以太网端口配置和遇到的一些问题&#xff0c; 都是肝货自己测试的QAQ。 2西门子 SERVER 指令 该指令是让外界设备主动连接此PLC被动连接&#xff0c; 所以这里应该填 外界设备的IP地址。 这边 我因为是电脑的Modbus Poll 主机来…...

MySQL表的基本查询上

1&#xff0c;创建表 前面基础的文章已经讲了很多啦&#xff0c;直接上操作&#xff1a; 非常简单&#xff01;下一个&#xff01; 2&#xff0c;插入数据 1&#xff0c;全列插入 前面也说很多了&#xff0c;直接上操作&#xff1a; 以上插入和全列插入类似&#xff0c;全列…...

MySQL中什么情况下类型转换会导致索引失效

文章目录 1. 问题引入2. 准备工作3. 案例分析3.1 正常情况3.2 发生了隐式类型转换的情况 4. MySQL隐式类型转换的规则4.1 案例引入4.2 MySQL 中隐式类型转换的规则4.3 验证 MySQL 隐式类型转换的规则 5. 总结 如果对 MySQL 索引不了解&#xff0c;可以看一下我的另一篇博文&…...

数据治理的意义

数据治理是一套管理数据资产的流程、策略、规则和控制措施&#xff0c;旨在确保数据的质量、安全性、可用性和合规性。数据治理的目标通常包括但不限于以下几点&#xff1a; 1. **提高数据质量**&#xff1a;确保数据的准确性、一致性、完整性和可靠性。 2. **确保数据安全**…...

快手游戏服务端C++开发一面-面经总结

1、tcp的重传机制有哪几种&#xff1f;具体描述一下 最基本的超时重传 超过时间就会重传 三个重复ACK 快速重传 减少等待超时、 接收方可以发送选择性确认 不用重传整段 乱序到达 可以通知哪些丢失 重复数据重传 2、override和final&#xff1f; override可写可不写 写出来就…...

4个革新性步骤:NHSE动物森友会存档编辑器完全指南

4个革新性步骤&#xff1a;NHSE动物森友会存档编辑器完全指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE&#xff08;动物森友会存档编辑器&#xff09;作为一款开源免费工具&#xff0c…...

Layerdivider:零基础上手图像分层工具的完整指南

Layerdivider&#xff1a;零基础上手图像分层工具的完整指南 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 为什么自动分层总是不尽如人意&#xff1f;设…...

从HTTP到gRPC:etcd v2与v3 API调用差异及Postman实战解析

1. etcd v2与v3 API的核心差异解析 第一次接触etcd时&#xff0c;你可能和我一样被网上的v2教程坑过——照着文档发送HTTP请求却总是返回404错误。这其实是因为etcd v3默认关闭了v2 API支持&#xff0c;而大多数中文教程还在用陈旧的v2示例。让我们先理清这两个版本的本质区别&…...

手把手教你:5分钟为你的静态网站嵌入AnythingLLM智能聊天机器人

5分钟为静态网站集成AnythingLLM智能聊天室的实战指南 你是否想过在自己的个人博客或产品官网上添加一个能回答访客问题的AI助手&#xff1f;就像那些科技公司官网右下角弹出的智能客服一样。今天我要分享的&#xff0c;是如何用AnythingLLM在5分钟内为任何静态网站嵌入一个私有…...

别再死记硬背了!用这5个真实运维脚本,搞定90%的Shell面试题

5个实战Shell脚本&#xff1a;从面试题到真实运维场景的蜕变 在技术面试中&#xff0c;Shell脚本能力往往是区分普通候选人和优秀候选人的关键指标。但死记硬背面试题答案的时代已经过去&#xff0c;现代企业更看重候选人解决实际问题的能力。本文将带你通过5个真实运维场景中的…...

从iptables迁移到nftables:表/链/规则的对照操作指南(含性能对比)

从iptables到nftables的平滑迁移实战指南 在Linux网络安全管理领域&#xff0c;防火墙技术的演进从未停歇。对于已经熟悉iptables的中高级用户而言&#xff0c;nftables的出现既是挑战也是机遇。作为Netfilter项目的新一代防火墙框架&#xff0c;nftables不仅统一了IPv4/IPv6防…...

基于滑模变结构观测器的永磁同步电机失磁故障容错补偿控制

基于失磁故障容错补偿的永磁同步电机控制【提供参考资料】 一、算法简介 基于滑模变结构观测器&#xff0c;将状态电流观测值作为反馈量&#xff0c;利用滑模变结构等值控制原理&#xff0c;建立实时估计永磁磁链算式&#xff0c;从而进行补偿。 避免因失磁导致的转速下降&…...

COMSOL 薄膜型声学超材料是利用薄膜结构单元在声波激励下的反共振特性,实现高于质量隔声定律...

COMSOL 薄膜型声学超材料是利用薄膜结构单元在声波激励下的反共振特性&#xff0c;实现高于质量隔声定律的隔声 STL隔声量 隔声系数 消声系数【1】薄膜材料本身需有较大弹性&#xff0c;且在低厚度情况下有良好的抗拉压性能&#xff0c;综合选取硅橡胶材料&#xff1b; 【2】附…...

Vue3+Cesium实战:解决404报错与Webpack配置优化指南

1. 为什么你的Cesium地图总是加载失败&#xff1f; 第一次在Vue3项目里集成Cesium时&#xff0c;我也被那些莫名其妙的404报错搞得焦头烂额。明明按照文档配置了&#xff0c;地图就是不显示&#xff0c;控制台一片红。后来才发现&#xff0c;90%的问题都出在资源路径配置上。 C…...

保姆级教程:用YOLOv5和ReID搞定跨摄像头找人(附完整代码和预训练模型)

跨摄像头人物追踪实战&#xff1a;YOLOv5与ReID技术深度整合指南 在智能安防、零售分析等场景中&#xff0c;跨摄像头追踪特定人物一直是个技术难点。传统方案要么依赖单一摄像头的目标检测&#xff0c;要么需要复杂的人工特征标注。本文将手把手带您实现一套基于YOLOv5目标检测…...