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

JAVA中的日期

获取当前的日期 LocalDate

  		LocalDate today = LocalDate.now();System.out.println("今天是:"+today);//今天是:2024-05-06String format = today.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));System.out.println("今天是:" + format);//今天是:2024年05月06日String format1 = today.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));System.out.println("今天是:" + format1);//今天是:2024年05月06日

获取年月日

  		LocalDate today = LocalDate.now();int year = today.getYear();int month = today.getMonthValue();int day = today.getDayOfMonth();//Year: 2024 Month: 5 Day: 6System.out.printf("Year: %d Month: %d Day: %d%n", year, month, day);

日期创建

  		LocalDate today = LocalDate.of(2017, 9, 1);//today = 2017-09-01System.out.println("today = " + today);

两个日期判断是否相等

  		LocalDate today = LocalDate.now();LocalDate before = LocalDate.of(2017, 9, 1);if (today.equals(before)) System.out.println("相等");else System.out.println("不相等");

YearMonth

  		YearMonth currentYearMonth = YearMonth.now();//当前是 2023-05 月 共: 31 天 %n 表示换行System.out.printf("当前是 %s  本月共: %d 天 %n", currentYearMonth, currentYearMonth.lengthOfMonth());YearMonth creditCardExpiry = YearMonth.of(2029, Month.APRIL);//你的信用卡将于 2029-04 到期System.out.printf("你的信用卡将于 %s 到期", creditCardExpiry);

周期性时间

  		LocalDate today = LocalDate.now();LocalDate birthdayDate = LocalDate.of(2017, 9, 1);MonthDay birthday = MonthDay.of(birthdayDate.getMonth(), birthdayDate.getDayOfMonth());MonthDay currentMonthDay  = MonthDay.from(today);if (birthday.equals(currentMonthDay)) System.out.println("今天是你的生日");else System.out.println("今天不是你的生日");

获取当前时间 LocalTime

  		LocalTime now = LocalTime.now();//now=16:13:44.416679400System.out.println("now="+now);String timeWithMillis = now.format(DateTimeFormatter.ofPattern("HH:mm:ss.SSS"));//timeWithMillis=16:13:44.416System.out.println("timeWithMillis="+timeWithMillis);

获取当前时间前后的时间

  		LocalTime now = LocalTime.now();System.out.println("现在时间是:"+now);LocalTime hourAfter = now.plusHours(2);System.out.println("两小时之后的时间是:"+hourAfter);LocalTime hourBefore = now.minusHours(2);System.out.println("两小时之前的时间是:"+hourBefore);LocalTime localTime = now.plusMinutes(2);System.out.println("两分钟之后的时间是:"+localTime);System.out.println("两分钟之前的时间是:"+now.minusMinutes(2));System.out.println("两秒之后的时间是:"+now.plusSeconds(2));System.out.println("两秒之前的时间是:"+now.minusSeconds(2));System.out.println("两纳秒之后的时间是:"+now.plusNanos(2));System.out.println("两纳秒之前的时间是:"+now.minusNanos(2));

获取当前日期前后的日期

  		LocalDate now = LocalDate.now();//当前日期:2024-05-06System.out.println("当前日期:"+now);//一周后的日期:2024-05-13System.out.println("一周后的日期:"+now.plusWeeks(1));//一周前的日期:2024-04-29System.out.println("一周前的日期:"+now.minusWeeks(1));//一月后的日期:2024-06-06System.out.println("一月后的日期:"+now.plusMonths(1));//一月前的日期:2024-04-06System.out.println("一月前的日期:"+now.minusMonths(1));//一年后的日期:2025-05-06System.out.println("一年后的日期:"+now.plusYears(1));//一年前的日期:2023-05-06System.out.println("一年前的日期:"+now.minusYears(1));

Clock 时钟类(时间戳)

  		Clock clock = Clock.systemUTC();// 获取当前时间戳	1714988314792System.out.println(clock.millis());Clock clock1 = Clock.systemDefaultZone();// 获取当前时间戳	1714988314808System.out.println(clock1.millis());// 也可以	1714988314808System.out.println(System.currentTimeMillis());Instant timestamp = Instant.now();//			1714988314808System.out.println(timestamp.toEpochMilli());

判断日期早晚于

  		LocalDate now = LocalDate.now();System.out.println("今天是:"+now);//今天是:2024-05-06LocalDate day = LocalDate.of(2024, 5, 6);LocalDate yesterday = LocalDate.of(2024, 5, 5);LocalDate tomorrow = LocalDate.of(2024, 5, 7);if (now.isAfter(day)) {//now和day是同一天,所以不会输出System.out.println("now是day之后的日期");}if (now.isBefore(day)) {//now和day是同一天,所以不会输出System.out.println("now是day之前的日期");}if (now.isAfter(yesterday)) {//正常输出 now是yesterday之后的日期System.out.println("now是yesterday之后的日期");}if (now.isBefore(tomorrow)) {//正常输出 now是tomorrow之前的日期System.out.println("now是tomorrow之前的日期");}

时区

  		ZoneId america = ZoneId.of("America/New_York");LocalDateTime localtDateAndTime = LocalDateTime.now();//当前本地时间:2024-05-06T16:52:11.234393300System.out.println("当前本地时间:"+localtDateAndTime);ZonedDateTime dateAndTimeInNewYork  = ZonedDateTime.of(localtDateAndTime, america );//TODO: 这一块输出的时间应该和currentDateTimeInNY一样吧。//把当前时间转换成纽约时区的时间	New_York Time Zone : 2024-05-06T16:52:11.234393300-04:00[America/New_York]System.out.println("New_York Time Zone : " + dateAndTimeInNewYork);ZonedDateTime currentDateTimeInNY = ZonedDateTime.now(ZoneId.of("America/New_York"));//直接获取纽约时区的时间		Current Time in New York: 2024-05-06T04:52:11.237388200-04:00[America/New_York]System.out.println("Current Time in New York: " + currentDateTimeInNY);

闰年判断

  		LocalDate now = LocalDate.now();if (now.isLeapYear()) {// 闰年System.out.println("闰年");}else {System.out.println("平年");}LocalDate leapYear = LocalDate.of(2018, 2, 5);if (leapYear.isLeapYear()) {System.out.println("闰年");} else {// 平年System.out.println("平年");}

日期间的天数和月数

	public static void main(String[] args) {LocalDate today = LocalDate.now();//today = 2024-05-06System.out.println("today = " + today);LocalDate java = LocalDate.of(2018, 12, 14);//参数1是开始时间,参数2是结束时间   五年四个月二十二天Period result = Period.between(java,today);//today和java相差了-4月System.out.println(" java 和 today 相差了 "+ result.getMonths()+"月");//today和java相差了-23天System.out.println(" java 和 today 相差了 "+ result.getDays()+"天");//today和java相差了-5年System.out.println(" java 和 today 相差了 "+ result.getYears()+"年");// java 和 today 相差了 1970天System.out.println(" java 和 today 相差了 "+ daysBetween(java,today)+"天");// java 和 today 相差了 64月System.out.println(" java 和 today 相差了 "+ monthsBetween(java,today)+"月");// java 和 today 相差了 5年System.out.println(" java 和 today 相差了 "+ yearsBetween(java,today)+"年");}public static int daysBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.DAYS.between(date1, date2);}public static int monthsBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.MONTHS.between(date1, date2);}public static int yearsBetween(LocalDate date1, LocalDate date2) {return (int) ChronoUnit.YEARS.between(date1, date2);}

解析或格式化日期

  		String date = "20180205";LocalDate formatted1 = LocalDate.parse(date, DateTimeFormatter.BASIC_ISO_DATE);//20180205  格式化后的日期为:  2018-02-05System.out.println(date+"  格式化后的日期为:  "+formatted1);LocalDate formatted2 = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyyMMdd"));//20180205  格式化后的日期为:  2018-02-05System.out.println(date+"  格式化后的日期为:  "+formatted2);DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");String format = formatted2.format(dateTimeFormatter);//20180205  格式化后的日期为:  2018/02/05System.out.println("20180205  格式化后的日期为:  "+format);

日期字符串转换

  		LocalDateTime date = LocalDateTime.now();//要是用yyyy/MM/dd 下面字符串转日期的要保持一致DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//日期转字符串String str = date.format(format1);//日期转换为字符串:2024-05-06 18:06:29System.out.println("日期转换为字符串:"+str);DateTimeFormatter format2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");//字符串转日期LocalDateTime date2 = LocalDateTime.parse(str,format2);//字符串转日期:2024-05-06T18:06:29System.out.println("字符串转日期:"+date2);

相关文章:

JAVA中的日期

获取当前的日期 LocalDate LocalDate today LocalDate.now();System.out.println("今天是:"today);//今天是:2024-05-06String format today.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));System.out.println("今天是:"…...

一起了解开源自定义表单的优势表现

随着社会的进步和科技的发展,越来越多的中小企业希望采用更为先进的软件平台,助力企业实现高效率的流程化管理。低代码技术平台、开源自定义表单已经慢慢走入大众视野,成为一款灵活、高效的数字化转型工具。流辰信息专注于低代码技术平台的研…...

体育老师工资高吗,奖金有吗

教师的薪资水平与多种因素相关,包括教育经验、工作地点、学校类型以及个人的教学成果等。在讨论体育教师的工资问题时,不能仅仅关注数字,更应了解教育价值和个人发展。 初中体育教师的工资水平受多种因素影响。根据网络统计的数据&#xff0c…...

Linux驱动开发——(十一)INPUT子系统

目录 一、input子系统简介 二、input驱动API 2.1 input字符设备 2.2 input_dev结构体 2.3 上报输入事件 2.4 input_event结构体 三、代码 3.1 驱动代码 3.2 测试代码 四、平台测试 一、input子系统简介 input子系统是管理输入的子系统,和pinctrl、gpio子…...

大数据毕业设计Python+Django旅游景点评论数据采集分析可视化系统 NLP情感分析 LDA主题分析 bayes分类 旅游爬虫 旅游景点评论爬虫 机器学习 深度学习 人工智能 计算机毕业设计

毕业论文(设计)开题报告 学生姓名 学 号 所在学院 信息工程学院 专 业 指导教师姓名 指导教师职称 工程师 助教 指导教师单位 论文(设计)题目 基于朴素贝叶斯算法旅游景点线上评价情感分析 开 题 报 告…...

FSNotes for Mac v6.7.1中文激活版:强大的笔记管理工具

FSNotes for Mac是一款功能强大的文本处理与笔记管理工具,为Mac用户提供了一个直观、高效的笔记记录和整理平台。 FSNotes for Mac v6.7.1中文激活版下载 FSNotes支持Markdown语法,使用户能够轻松设置笔记格式并添加链接、图像等元素,实现笔记…...

课程34:Windows Docker部署.Net Core项目

这里写目录标题 🚀前言一、安装Docker Desktop1.1 官网下载Docker1.2 安装Docker1.2.1 选择配置,默认都勾选1.2.2 安装中1.2.3 安装成功1.2.4 启动1.2.5 启动成功二、.Net Core 项目发布与部署2.1 修改Dockerfile文件2.2 Web项目发布2.3 修改配置2.3.1 修改dockerfile<...

分布式与一致性协议之ZAB协议(四)

ZAB协议 ZooKeeper是如何选举领导者的。 首先我们来看看ZooKeeper是如何实现成员身份的&#xff1f; 在ZooKeeper中&#xff0c;成员状态是在QuorumPeer.java中实现的&#xff0c;为枚举型变量 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING }其实&…...

在M1芯片安装鸿蒙闪退解决方法

在M1芯片安装鸿蒙闪退解决方法 前言下载鸿蒙系统安装完成后&#xff0c;在M1 Macos14上打开闪退解决办法接下来就是按照提示一步一步安装。 前言 重新安装macos系统后&#xff0c;再次下载鸿蒙开发软件&#xff0c;竟然发现打不开。 下载鸿蒙系统 下载地址&#xff1a;http…...

Linux基础-socket详解、TCP/UDP

文章目录 一、Socket 介绍二、Socket 通信模型三、Socket 常用函数1 创建套接字2 绑定套接字3、监听连接4、接受连接5、接收和发送数据接收数据发送数据 6、关闭套接字 四、Socket编程试验1、源码server.cclient.c 2、编译&#xff1a;3、执行结果 五、补充TCP和UDP协议的Socke…...

【菜单下拉效果】基于jquery实现二级菜单下拉效果(附完整源码下载)

Js菜单下拉特效目录 &#x1f354;涉及知识&#x1f964;写在前面实现效果&#x1f367;一、涉及知识&#x1f333;二、具体实现2.1 搭建一级菜单2.2 搭建二级菜单项2.3 引入js文件2.4 构建CSS文件 &#x1f40b;三、源码获取&#x1f305; 作者寄语 &#x1f354;涉及知识 ht…...

如何使用resource-counter统计跨Amazon区域的不同类型资源数量

关于resource-counter resource-counter是一款功能强大的命令行工具&#xff0c;该工具基于纯Python 3开发&#xff0c;可以帮助广大研究人员跨Amazon区域统计不同类型资源的数量。 该工具在统计完不同区域的各类资源数量后&#xff0c;可以在命令行中输出并显示统计结果。res…...

nextTick的作用与原理

在 Vue 中&#xff0c;nextTick允许我们延迟执行一段代码&#xff0c;直到 Vue完成其当前的 DOM 更新周期。这使得我们可以在 DOM 更新后安全地访问和修改 DOM 元素。 一、Vue 的异步更新策略 Vue 采用了一种称为异步更新策略的机制。这意味着当数据发生变化时&#xff0c;Vue…...

mybatis工程需要的pom.xml,以及@Data 、@BeforeEach、@AfterEach 的使用,简化mybatis

对 “mybatis - XxxMapper.java接口中方法的参数 和 返回值类型&#xff0c;怎样在 XxxMapper.xml 中配置的问题” 这篇文章做一下优化 这个pom.xml文件&#xff0c;就是上面说的这篇文章的父工程的pom.xml&#xff0c;即&#xff1a;下面这个pom.xml 是可以拿来就用的 <?…...

微信小程序demo-----制作文章专栏

前言&#xff1a;不管我们要做什么种类的小程序都涉及到宣传或者扩展其他业务&#xff0c;我们就可以制作一个文章专栏的页面&#xff0c;实现点击一个专栏跳转到相应的页面&#xff0c;页面可以有科普类的知识或者其他&#xff0c;然后页面下方可以自由发挥&#xff0c;添加联…...

Linux migrate_type初步探索

1、基础知识 我们都知道Linux内存组织管理结构架构&#xff0c;顶层是struct pglist_data&#xff0c;然后再到struct zone&#xff0c;最后是struct page。大概的管理结构是这样的&#xff1a; 根据物理内存的地址范围可划分不同的zone&#xff0c;每个zone里的内存由buddy…...

i.MX 6ULL 裸机 IAR 环境安装

一. IAR 的安装请自行搜索 二. 使用最新版本的 IAR&#xff0c;需要修改 SDK 1. 在 SDK 的 core_ca7.h 加上 #include "intrinsics.h" /* IAR Intrinsics */ 2. debug 时需要修改每个工程下的 ddr_init.jlinkscript&#xff0c;参考链接 Solved: How to conn…...

cmake进阶:文件操作

一. 简介 前面几篇文章学习了 cmake的文件操作&#xff0c;写文件&#xff0c;读文件。文章如下&#xff1a; cmake进阶&#xff1a;文件操作之写文件-CSDN博客 cmake进阶&#xff1a;文件操作之读文件-CSDN博客 本文继续学习文件操作。主要学习 文件重命名&#xff0c;删…...

在UI界面中播放视频_unity基础开发教程

在UI界面中播放视频_unity基础开发教程 前言操作步骤结语 前言 之前我写过一篇在场景中播放视频的文章&#xff0c;但是在开发中有时候也会在UI的界面中播放视频&#xff0c;这期我们做一下在UI的界面中播放视频。 操作步骤 首先在场景中创建一个Raw Image&#xff0c;UI->…...

TypeScipt 联合类型 | 号的使用

联合类型有两种使用方法&#xff1a; 一种类型中多个可能的值。具有多种不同的类型中的一种。 一种类型中多个可能的值。 type isAye true | false;const aye:isAye true; const aye1:isAye false; const aye2:isAye 3; // Type number is not assignable to type isAye…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...