当前位置: 首页 > 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

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

http://www.lryc.cn/news/23301.html

相关文章:

  • 接上一篇 对多个模型环形旋转进行优化 指定旋转位置
  • Unity中获取地形的法线
  • 模型解释性:PFI、PDP、ICE等包的用法
  • spring常见面试题(2023最新)
  • 华为OD机试题,用 Java 解【压缩报文还原】问题
  • 机器学习-BM-FKNCN、BM-FKNN等分类器对比实验
  • ChatGPT火了,对话式人工智能还能干嘛?
  • 十一、操作数栈的特点(Operand Sstack)
  • 拆解瑞幸新用户激活流程,如何让用户“动”起来?
  • tkinter界面的TCP通信/开启线程等待接收数据
  • 华为OD机试题,用 Java 解【任务混部】问题
  • 看linux内核启动流程需要的汇编指令解释
  • 【巨人的肩膀】JAVA面试总结(二)
  • 【网络安全入门】零基础小白必看!!!
  • 字节前端经典面试题(附答案)
  • 数据库管理工具的使用
  • 让马斯克反悔的毫米波雷达,被国产雷达头部厂商木牛科技迭代到了5D时代
  • MaxWell原理概述
  • 电子技术——AB类输出阶
  • Archlinux个人安装流程
  • 【Autoware】2小时安装Autoware1.13(保姆级教程)
  • JVM 堆内存模型
  • linux-中断下半部
  • SpringMVC源码:HandlerMapping加载1
  • 【ArcGIS】12 投影
  • 【微信小程序-原生开发+TDesign】通用功能页封装——地点搜索(含腾讯地图开发key 的申请方法)
  • h5: 打开手机上的某个app
  • Hot Chocolate 构建 GraphQL .Net Core 服务
  • linux shell 入门学习笔记16 流程控制开发
  • 机器学习:基于朴素贝叶斯对花瓣花萼的宽度和长度分类预测