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

<Java获取时间日期工具类>常见八种场景(一)

一:自定义时间日期工具类常用的八种方式(整理):

0,getTimeSecondNum:时间日期转成秒数,常用于大小比较
1,getLastYearMonthLastDay:获取去年当月最后一天的时间日期
2,getLastYearMonthfirstDay:获取去年当月第一天的时间日期
3,getLastYearSameDay:获取去年当天的时间日期
4,getSameDay:获取当天时间日期
5,getSameDayBeforeMonth:获取当天前一月时间日期
6,getSameDayBeforeDay:获取当天前一天时间日期
7,getTomorrowDate:获取明天时间日期
8,getNextMonthDay:获取下月当天时间日期

直接上代码,输出如下:
代码可直接拷贝:

package cn.itcast;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;
import java.util.Date;/** 自定义:获取时间日期的工具类;* */
public class DateUtils {public static void main(String[] args) {System.out.println("getNextMonthDay:"+getNextMonthDay());  // 获取下月当天时间日期System.out.println("getTomorrowDate:"+getTomorrowDate());  // 获取明天时间日期System.out.println("getSameDayBeforeDay:"+getSameDayBeforeDay());  // 获取当天前一天时间日期System.out.println("getSameDayBeforeMonth:"+getSameDayBeforeMonth());  // 获取当天前一月时间日期System.out.println("getSameDay:"+getSameDay());  // 获取当天时间日期System.out.println("getLastYearSameDay:"+getLastYearSameDay());  // 获取去年当天的时间日期System.out.println("getLastYearMonthfirstDay:"+getLastYearMonthfirstDay());  // 获取去年当月第一天的时间日期System.out.println("getLastYearMonthLastDay:"+getLastYearMonthLastDay());  // 获取去年当月最后一天的时间日期System.out.println("getTimeSecondNum:"+getTimeSecondNum(getLastYearMonthLastDay()));  // 时间日期转成秒数:用于大小比较	}/** 0.时间日期转成秒数:用于大小比较:*/public static long getTimeSecondNum(String date){long total = 0;String[] time = date.split("-"); //年月日分割if(time.length >= 3) {long l1 = Long.parseLong(time[0]) * 360; //年转成天数小时转为秒数long l2 = Long.parseLong(time[1]) * 30; //月转成天数long l3 = Long.parseLong(time[2]); //天数秒数total = l1 + l2 + l3;}return total;}/** 1.获取去年当月最后一天的时间日期:* 例如:今天是:2023-02-27* return:2022-02-28*/public static String getLastYearMonthLastDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.add(Calendar.YEAR, -1);Date start = c.getTime();//获取前一年String startDay = format.format(start);//前一年//System.out.println("startDay::"+startDay);//String转LocalDateLocalDate date = LocalDate.parse(startDay, DateTimeFormatter.ISO_DATE);//根据前一年日期获取当月最后一天:LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth()); // 获取去年当月的最后一天//System.out.println("lastDay:"+lastDay);//LocalDate转StringDateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");String localDateNowStr = lastDay.format(formatter);return localDateNowStr;}/** 2.获取去年当月第一天的时间日期:* 例如:今天是:2023-02-27* return:2022-02-01*/public static String getLastYearMonthfirstDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.add(Calendar.YEAR, -1);Date start = c.getTime();//获取前一年String startDay = format.format(start);//前一年//System.out.println("startDay::"+startDay);//String转LocalDateLocalDate date = LocalDate.parse(startDay, DateTimeFormatter.ISO_DATE);//根据前一年日期获取当月最后一天:LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth()); // 获取当前月的第一天//System.out.println("lastDay:"+lastDay);//LocalDate转StringDateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");String localDateNowStr = firstDay.format(formatter);return localDateNowStr;}	/** 3.获取去年当天的时间日期:* 例如:今天是:2023-02-27* return:2022-02-27*/public static String getLastYearSameDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.YEAR, -1);Date start = c.getTime();String startDay = format.format(start);//前一年return startDay;}	/** 4.获取当天时间日期:* 例如:今天是:2023-02-27* return:2023-02-27*/public static String getSameDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());Date end = c.getTime();String date= format.format(end);//当前日期return date;}/** 5.获取当天前一月时间日期:* 例如:今天是:2023-02-27* return:2023-01-27*/public static String getSameDayBeforeMonth() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.MONTH, -1);Date start = c.getTime();String day = format.format(start);//前一月return day;}/** 6.获取当天前一天时间日期:* 例如:今天是:2023-02-27* return:2023-02-26*/public static String getSameDayBeforeDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.DATE, -1);Date start = c.getTime();String day= format.format(start);//前一天return day;}/** 7.获取明天时间日期:* 例如:今天是:2023-02-27* return:2023-02-28*/public static String getTomorrowDate() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.DATE, +1);Date start = c.getTime();String day= format.format(start);//明天return day;}/** 8.获取下月当天时间日期:* 例如:今天是:2023-02-27* return:2023-03-27*/public static String getNextMonthDay() {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(new Date());c.add(Calendar.MONTH, +1);Date start = c.getTime();String day = format.format(start);//下月当天return day;}
}

测试输出:

getNextMonthDay:2023-03-27
getTomorrowDate:2023-02-28
getSameDayBeforeDay:2023-02-26
getSameDayBeforeMonth:2023-01-27
getSameDay:2023-02-27
getLastYearSameDay:2022-02-27
getLastYearMonthfirstDay:2022-02-01
getLastYearMonthLastDay:2022-02-28
getTimeSecondNum:728008

如果您觉得有用,就动动发财的小手点个赞哈,感谢啦!!!

相关文章:

<Java获取时间日期工具类>常见八种场景(一)

一:自定义时间日期工具类常用的八种方式(整理): 0,getTimeSecondNum:时间日期转成秒数,常用于大小比较 1,getLastYearMonthLastDay:获取去年当月最后一天的时间日期 2,getLastYearM…...

接上一篇 对多个模型环形旋转进行优化 指定旋转位置

using System.Collections; using System.Collections.Generic; using UnityEngine; using DG.Tweening; public class ModelAnimal : MonoBehaviour { //记录鼠标滑动 public Vector2 lastPos;//鼠标上次位置 Vector2 currPos;//鼠标当前位置 Vector2 offset;//两次位置的偏移…...

Unity中获取地形的法线

序之前,生成了地形图:(42条消息) 从灰度图到地形图_averagePerson的博客-CSDN博客那末,地形的法线贴图怎么获取?大概分为两个部分吧,先拿到法线数据,再画到纹理中去。关于法线计算Unity - Scripting API: M…...

模型解释性:PFI、PDP、ICE等包的用法

本篇主要介绍几种其他较常用的模型解释性方法。 1. Permutation Feature Importance(PFI) 1.1 算法原理 置换特征重要性(Permutation Feature Importance)的概念很简单,其衡量特征重要性的方法如下:计算特征改变后模型预测误差的增加。如果打乱该特征的…...

spring常见面试题(2023最新)

目录前言1.spring是什么2.spring的设计核心是什么3.IOC和AOP面试题4.spring的优点和缺点5.spring中bean的作用域6.spring中bean的注入方式7.BeanFactory 和 ApplicationContext有什么区别?8.循环依赖的情况,怎么解决?9.spring中单例Bean是线程…...

华为OD机试题,用 Java 解【压缩报文还原】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...

机器学习-BM-FKNCN、BM-FKNN等分类器对比实验

目录 一、简介和环境准备 二、算法简介 2.1四种方法类: 2.1.1FKNN 2.1.2FKNCN 2.1.3BM-FKNN 2.1.3BM-FKNCN 2.2数据预处理 2.3输出视图 2.4调用各种方法看准确率 2.4.1BM-FKNCN 2.4.2BM-FKNN 2.4.3FKNCN 2.4.4FKNN 2.4.5KNN 一、简介和环境准备 k…...

ChatGPT火了,对话式人工智能还能干嘛?

身兼数职的ChatGPT      从2022火到了2023      连日来一直是各大平台的热议对象      其实除了写诗、敲代码、处理文档      以ChatGPT为代表的      对话式人工智能      还有更重要的工作要做      对话式AI与聊天机器人      相信大多数人…...

十一、操作数栈的特点(Operand Sstack)

1.每一个独立的栈帧中除了包含局部变量表以外,还包含一个后进先出的操作数栈,也可以称之为表达式栈。 2.操作数栈,在方法执行过程中,根据字节码指令,往栈中写入数据,或提取数据,即入栈&#xff…...

拆解瑞幸新用户激活流程,如何让用户“动”起来?

Aha时刻 一个产品的拉新环节,是多种方式并存的;新用户可能来自于商务搭建了新的渠道,运营策划了新的活动,企划发布了新的广告,销售谈下了新的客户,市场推广了新的群体,以及产品本身的口碑传播,功能更新带来的自然流量。 这是一个群策群力的环节,不同的团队背负不同的K…...

tkinter界面的TCP通信/开启线程等待接收数据

前言 用简洁的语言写一个可以与TCP客户端实时通信的界面。之前做了一个项目是要与PLC进行信息交互的界面,在测试的时候就利用TCP客户端来实验,文末会附上TCP客户端。本文分为三部分,第一部分是在界面向TCP发送数据,第二部分是接收…...

华为OD机试题,用 Java 解【任务混部】问题

最近更新的博客 华为OD机试题,用 Java 解【停车场车辆统计】问题华为OD机试题,用 Java 解【字符串变换最小字符串】问题华为OD机试题,用 Java 解【计算最大乘积】问题华为OD机试题,用 Java 解【DNA 序列】问题华为OD机试 - 组成最大数(Java) | 机试题算法思路 【2023】使…...

看linux内核启动流程需要的汇编指令解释

一、指令 0.MRS 和MSR MRS 指令: 对状态寄存器CPSR和SPSR进行读操作。 MSR指令: 对状态寄存器CPSR和SPSR进行写操作。 1.adrp adrp x0, boot_args把boot_args的页基地址提取出来,放到x0中。 2.stp stp x21, x1, [x0]将 x21, x1 的值存入 x0寄存器记录的地址中…...

【巨人的肩膀】JAVA面试总结(二)

1、💪 目录1、💪1.0、什么是面向对象1.1、JDK、JRE、JVM之间的区别1.2、什么是字节码1.3、hashCode()与equals()之间的联系1.4、String、StringBuffer、StringBuilder的区别1.5、和equals方法的区别1.6、重载和重写的区别1.7、List和Set的区别1.8、Array…...

【网络安全入门】零基础小白必看!!!

看到很多小伙伴都想学习 网络安全 ,让自己掌握更多的 技能,但是学习兴趣有了,却发现自己不知道哪里有 学习资源◇瞬间兴致全无!◇ 😄在线找人要资料太卑微,自己上网下载又发现要收费0 🙃差点当…...

字节前端经典面试题(附答案)

有哪些可能引起前端安全的问题? 跨站脚本 (Cross-Site Scripting, XSS): ⼀种代码注⼊⽅式, 为了与 CSS 区分所以被称作 XSS。早期常⻅于⽹络论坛, 起因是⽹站没有对⽤户的输⼊进⾏严格的限制, 使得攻击者可以将脚本上传到帖⼦让其他⼈浏览到有恶意脚本的⻚⾯, 其注⼊⽅式很简…...

数据库管理工具的使用

目录 摘要 一、Navicat是什么? 二、使用步骤 1.如何下载与安装 2.如何连接远程数据库 总结 摘要 本文主要介绍数据库管理工具的使用 一、Navicat是什么? 它是一款数据库管理工具,将此工具连接数据库,你可以从中看到各种数据库的详细…...

让马斯克反悔的毫米波雷达,被国产雷达头部厂商木牛科技迭代到了5D时代

近日,特斯拉或将在其HW4.0硬件系统配置一枚高精度4D毫米波雷达的消息在外网刷屏。据分析,“纯视觉”信仰者马斯克之所以做出这样的决定,一方面是减配了雷达的特斯拉自动驾驶,表现不尽如人意;另一方面也跟毫米波雷达的技…...

MaxWell原理概述

文章目录1.MaxWell概述2.Maxwell输出数据格式3.Maxwell原理3.1 MySQL二进制日志3.2 MySQL主从复制1.MaxWell概述 Maxwell 是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控Mysql数据库的数据变更操作(包括insert、update、dele…...

电子技术——AB类输出阶

电子技术——AB类输出阶 原理 交越失真可以通过通过一个较小的偏置电流解除,如下图: QNQ_NQN​ 和 QPQ_PQP​ 的基极之间存在偏置电压 VBBV_{BB}VBB​ 。对于完美匹配的晶体管,当 vI0v_I 0vI​0 的时候,此时 vO0v_O 0vO​0 。每…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

OpenLayers 分屏对比(地图联动)

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

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...