Java时间工具类LocalTime

Java时间工具类LocalTime

  • 嘚吧嘚
  • LocalTime - API
    • 获取时间
    • 获取时分秒
    • 增减时分秒
    • 替换时间
    • 比较时间

嘚吧嘚

本篇文章整理一下有关LocalTime工具类的用法。个人感觉单独使用LocalTime类的几率不大🙃,使用频率最高的应该是LocalDateTime,但是既然都学习了,自然要全面一点🤨。

LocalTime - API

获取时间

函数声明描述
static LocalTime now()获取默认时区的当前时间
static LocalTime now(ZoneId zone)获取指定时区的当前时间
static LocalTime now(Clock clock)从指定时钟获取当前时间
static LocalTime of(int hour, int minute, int second)根据指定的时(0-23)、分(0-59)、秒(0-59)获取LocalTime实例
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 获取当前时间
LocalTime now = LocalTime.now();
LocalTime time1 = LocalTime.now(ZoneId.of("America/New_York"));
LocalTime time2 = LocalTime.now(Clock.systemDefaultZone());
LocalTime time3 = LocalTime.of(19, 12, 5);

System.out.println("now : " + now.format(formatter) + " " + ZoneId.systemDefault());
System.out.println("time1 : " + time1.format(formatter) + " America/New_York");
System.out.println("time2 : " + time2.format(formatter));
System.out.println("time3 : " + time3.format(formatter));

在这里插入图片描述

获取时分秒

函数声明描述
int getHour()获取小时
int getMinute()获取分钟
int getSecond()获取秒钟
int getNano()获取纳秒
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 获取当前时间
LocalTime time = LocalTime.of(19, 12, 5);
System.out.println("time : " + time.format(formatter));

System.out.println("getHour : " + time.getHour());
System.out.println("getMinute : " + time.getMinute());
System.out.println("getSecond : " + time.getSecond());
System.out.println("getNano : " + time.getNano());

在这里插入图片描述

增减时分秒

函数声明描述
LocalTime plusHours(long hoursToAdd)增加小时
LocalTime plusMinutes(long minutesToAdd)增加分钟
LocalTime plusSeconds(long secondstoAdd)增加秒
LocalTime plusNanos(long nanosToAdd)增加纳秒
LocalTime minusHours(long hoursToSubtract)减少小时
LocalTime minusMinutes(long minutesToSubtract)减少分钟
LocalTime minusSeconds(long secondsToSubtract)减少秒
LocalTime minusNanos(long nanosToSubtract)减少纳秒

plusXxx是增加时间,minusXxx是减少时间,但查看源码可以发现minusXxx还是用的plusXxx,所以这两类方法传参可为正数,也可为负数。正负号相同、数字相同时效果相反。
在这里插入图片描述
以小时和分钟为例

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 获取当前时间
LocalTime time = LocalTime.of(19, 12, 5);
System.out.println("time : " + time.format(formatter));

System.out.println("plusHours : " + time.plusHours(10));
System.out.println("minusHours : " + time.minusHours(-10));

System.out.println("plusMinutes : " + time.plusMinutes(15));
System.out.println("minusMinutes : " + time.minusMinutes(-15));

在这里插入图片描述

替换时间

函数声明描述
LocalTime withHour(int hour)替换小时(0-23)
LocalTime withMinute(int minute)替换分钟(0-59)
LocalTime withSecond(int second)替换秒(0-59)
LocalTime withNano(int nanoOfSecond)替换纳秒(0-999999999)
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 获取当前时间
LocalTime time = LocalTime.of(19, 12, 5);
System.out.println("time : " + time.format(formatter));

System.out.println("withHour : " + time.withHour(10));
System.out.println("withMinute : " + time.withMinute(15));
System.out.println("withSecond : " + time.withSecond(26));
System.out.println("withNano : " + time.withNano(36));

在这里插入图片描述

比较时间

函数声明描述
int compareTo(LocalTime other)时间与另一个时间比较,x = y:0,x < y:-1,x > y::1
boolean isAfter(LocalTime other)检查时间是否在指定时间之后
boolean isBefore(LocalTime other)检查时间是否在指定时间之前
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
// 获取当前时间
LocalTime time1 = LocalTime.of(19, 12, 5);
LocalTime time2 = LocalTime.of(18, 12, 5);
LocalTime time3 = LocalTime.of(20, 12, 5);
LocalTime time4 = LocalTime.of(19, 12, 5);

String timeStr1 = time1.format(formatter);
String timeStr2 = time2.format(formatter);
String timeStr3 = time3.format(formatter);
String timeStr4 = time4.format(formatter);
System.out.println("time1 : " + timeStr1);
System.out.println("time2 : " + timeStr2);
System.out.println("time3 : " + timeStr3);
System.out.println("time4 : " + timeStr4);
// 比较日期大小
System.out.println(timeStr1 + " = " + timeStr2 + " : " + time1.compareTo(time2));
System.out.println(timeStr1 + " = " + timeStr4 + " : " + time1.compareTo(time4));
System.out.println(timeStr1 + " = " + timeStr3 + " : " + time1.compareTo(time3));
System.out.println(timeStr1 + " > " + timeStr2 + " : " + time1.isAfter(time2));
System.out.println(timeStr1 + " < " + timeStr2 + " : " + time1.isBefore(time2));

在这里插入图片描述
欢迎补充😉。

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

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

相关文章

变量的存储类型

auto类型 简述&#xff1a;c和c中的区别 auto类型表示自动存储类型 : 就是系统自动分配内存,使用结束后系统回收。 其实auto类型就是我们平时定义的局部变量&#xff0c;所以我们定义一个auto类型的变量&#xff0c;加auto都可以。 { auto int a 10; } 上面这行代码,…

Java EE Servlet之Servlet API详解

文章目录 1. HttpServlet1.1 核心方法 2. HttpServletRequest3. HttpServletResponse 接下来我们来学习 Servlet API 里面的详细情况 1. HttpServlet 写一个 Servlet 代码&#xff0c;都是要继承这个类&#xff0c;重写里面的方法 Servlet 这里的代码&#xff0c;只需要继承…

CSS与JavaScript的简单认识

CSS&#xff1a;是一门语言&#xff0c;用于控制网页表现&#xff0c;让页面更好看的。 CSS&#xff08;Cascading Style Sheet&#xff09;&#xff1a;层叠样式表 CSS与html结合的三种方式&#xff1a; 1、内部样式&#xff1a;用style标签&#xff0c;在标签内部定义CSS样式…

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤&#xff0c;持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成&#xff0c;使⽤的开源⼯具是Jenkins&#xff0c;CD指的是持续交付和持续部署&#xff0c;⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…

12.26

key_it.c #include"key_it.h" void led_init() {// 设置GPIOE/GPIOF时钟使能RCC->MP_AHB4ENSETR | (0x3 << 4);// 设置PE10/PE8/PF10为输出模式GPIOE->MODER & (~(0x3 << 20));GPIOE->MODER | (0x1 << 20);GPIOE->MODER & (~…

如何在iterm2的命令行中快速移动

文章目录 一、打开Preferences设置二、进行key的映射三、修改键值四、参考文献 一、打开Preferences设置 二、进行key的映射 三、修改键值 四、参考文献 Mac下iTerm2光标按照单词快速移动设置

【回顾 展望】我的2023年度总结

2023年度关键词 学生时代终将绕不开的学习我的健身水平何时能重回巅峰&#xff1f;对生活前所未有的渴望接下来的2024是否能够微笑面对 最近发现了一个比较有意思的事&#xff0c;各大APP都在推我在这个APP的使用方面的2023年度总结&#xff0c;各个up主&#xff0c;也都在发各…

开发知识点-JAVA图形化-JavaFX

JavaFX JavaFX通用漏洞利用工具开发从无到无环境配置vscode配置JavaFX JavaFX基本程序结构创建项目新建一个包新建入口类&#xff08;主类&#xff09;新建&#xff08;FX&#xff09;label标签 创建按钮 JavaFX应用的 Stage窗口JavaFX应用的 Scene 场景类Node UI控件的通用属性…

纯CSS3制作优惠券线性UI效果

纯CSS3制作优惠券线性UI效果-遇见你与你分享

自激振荡电路笔记 电弧打火机

三极管相关 三极管的形象描述 二极管 简单求解&#xff08;理想&#xff09; 优先导通&#xff08;理想&#xff09; 恒压降 稳压管&#xff08;二极管plus&#xff09; 基础工作模块 理想稳压管的工作特性 晶体管之三极管(“两个二极管的组合” ) 电弧打火机电路 1.闭合开…

nodejs微信小程序+python+PHP的冷链物流配送系统-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

推荐几个开源HTTP服务接口快速生成工具

在现在流行微服务、前后端分离软件开发架构下&#xff0c;基于标准RESTful/JSON的HTTP接口已经成为主流。在实际业务中有很多需要快速开发调用数据服务接口的需求&#xff0c;但团队中缺乏专业的后端开发人员&#xff0c;比如&#xff1a; &#xff08;1&#xff09;数据库表已…

Java定时器

目录 什么是定时器&#xff1f; 如何使用定时器&#xff1f; schedule Timer的构造方法 cancel 定时器的模拟实现 思路分析 实现过程 完整代码 什么是定时器&#xff1f; 定时器&#xff1a;即在设定的时间时执行某事的设备&#xff08;例如闹钟&#xff0c;在指定的时…

python期刊稿件在线投稿系统q2ud0

本系统的用户可分为管理员、投稿者、审稿人和编辑四个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有个人中心、投稿者管理、审稿人管理、编辑管理、个人稿件管理、审核稿件管理、稿件信息管理、类型管理等功能&#xff1b;编辑登录系统主要有个人中心、审核稿…

大模型训练过程概述

上图来自 Andrej Karpathy&#xff0c;深度学习的大拿&#xff0c;目前在Tesla。这张图的信息量相当大&#xff0c;通过该图能让我们对大模型的整个训练过程有一个总体的了解。 从该图可知大模型训练主要有4步&#xff1a; Pretraining — 预训练阶段 Supervised Finetuning&…

透过许战海矩阵洞察安记食品增长战略

引言&#xff1a;安记食品如果想实施增长战略&#xff0c;建议深耕招牌产品,走向全国市场,目前招牌产品咖哩和复合调味粉市场空间没有被全面释放出来,需要科学的产品战略作为支撑。安记食品选择功能性产品方向是正确的,但“功能性”需要一个大品类作为载体,牛奶,饮料是最大的载…

C# Onnx yolov8n forklift detection

目录 效果 模型 项目 代码 下载 C# Onnx yolov8n forklift detection 效果 模型 Model Properties ------------------------- date&#xff1a;2023-12-25T16:22:05.530078 author&#xff1a;Ultralytics task&#xff1a;detect license&#xff1a;AGPL-3.0 https:/…

牛客网SQL训练4—SQL进阶挑战

文章目录 一、增删改操作1. 插入记录2. 更新记录3. 删除记录 二、表与索引操作1. 表的创建、修改与删除2. 索引的创建、删除 三、聚合分组查询1. 聚合函数2. 分组查询 四、多表查询1. 嵌套子查询2. 合并查询3. 连接查询 五、窗口函数1. 专用窗口函数2. 聚合窗口函数 六、其他常…

分布式【4. 什么是 CAP?】

什么是 CAP&#xff1f; C 代表 Consistency&#xff0c;一致性&#xff0c;是指所有节点在同一时刻的数据是相同的&#xff0c;即更新操作执行结束并响应用户完成后&#xff0c;所有节点存储的数据会保持相同。 A 代表 Availability&#xff0c;可用性&#xff0c;是指系统提…

开源radishes高仿网易云音乐完整源码,可试听和下载“灰色”歌曲,跨平台的无版权音乐平台

源码介绍 Radishes是项目名称&#xff0c;是由萝卜翻译而来。可以在这里试听和下载“灰色”歌曲&#xff0c;是一个可以跨平台的无版权音乐平台。 萝卜音乐界面和功能参考 windows 网易云音乐界面和 ios 的网易云音乐 安装依赖 cd radishes/ yarn bootstrap 运行项目 web:…