首页 > 编程语言 >java:日期工具类,是否是闰年,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与date之间转换,判断两个日期是否是同一天。

java:日期工具类,是否是闰年,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与date之间转换,判断两个日期是否是同一天。

时间:2023-01-17 19:06:33浏览次数:39  
标签:java 是否是 Date 日期 num date Integer Calendar calendar


java:日期工具类,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与date之间转换。

这里写目录标题

  • ​​java:日期工具类,获取当前日期的前后一天,月,年,获得日期的年月日时分秒,string与date之间转换。​​
  • ​​一级目录​​
  • ​​二级目录​​
  • ​​三级目录​​
  • ​​1.stringToDate​​
  • ​​2.dateToString​​
  • ​​3.createTime(Integer year,Integer month,Integer day)​​
  • ​​4.getYear(Date date)​​
  • ​​5.getMonth(Date date)​​
  • ​​6.getDay(Date date)​​
  • ​​7.getHour(Date date)​​
  • ​​8.getMinute(Date date)​​
  • ​​9.getSecond(Date date)​​
  • ​​10.isSameDay(Date date1,Date date2)​​
  • ​​11.yearAfterDate(Date date,Integer num)​​
  • ​​12.yearBeforeDate(Date date,Integer num)​​
  • ​​13.monthAfterDate(Date date,Integer num)​​
  • ​​14.monthBeforeDate(Date date,Integer num)​​
  • ​​15.dayAfterDate(Date date,Integer num)​​
  • ​​16.dayBeforeDate(Date date,Integer num)​​
  • ​​17.leapYear(Integer year)​​

一级目录

二级目录

三级目录

在我们日常开发过程中,经常对日期进行处理,例如获取年月日什么的操作,我们可以通过Calendar进行快速编写,但是大量重复的代码是不是特别烦,因此咕咕写了一个工具类,虽然不难,主要是简单的分装用于快速开发。大家要是觉得不足的地方可以根据自己的需要,在此基础上开发。
使用方式:
随便在自己项目的util文件夹下放进去,通过类名.方法名直接调用即可。
使用说明:
其实方法上都有注释,但是不想一个一个读的咕咕还是说明一下。

注意:
Calendar的月比实际月小1
month=truemonth-1

(有点数组下标的意思)

1.stringToDate

String类型转型到date类型
例如:将"2023-03-14 00:00:00"==》转为日期类型

2.dateToString

date===》string(格式:“yyyy年MM月dd日”)

3.createTime(Integer year,Integer month,Integer day)

创建一个日期,参数是Integer,的年月日

4.getYear(Date date)

获取参数的年

5.getMonth(Date date)

获取参数的月

6.getDay(Date date)

获取参数的日

7.getHour(Date date)

获取参数的时

8.getMinute(Date date)

获取参数的分

9.getSecond(Date date)

获取参数的秒

10.isSameDay(Date date1,Date date2)

判断两个日期是否是同一天

11.yearAfterDate(Date date,Integer num)

参数日期的后一年

12.yearBeforeDate(Date date,Integer num)

参数日期的前一年

13.monthAfterDate(Date date,Integer num)

参数日期的后一月

14.monthBeforeDate(Date date,Integer num)

参数日期的前一月

15.dayAfterDate(Date date,Integer num)

参数日期的后一天

16.dayBeforeDate(Date date,Integer num)

参数日期的前一天

17.leapYear(Integer year)

是否是闰年

DateUtil

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
* @author ymgu
* @version V1.0
* @Package util
* @date 2022/7/7 16:45
*/
public class DateUtil {
/**将String转为日期类型
* @param date ("2023-03-14 00:00:00")
* @return 日期(date)
* **/
public static Date stringToDate(String date) throws ParseException {
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date);
}

/**将日期格式化显示(Sting)yyyy年MM月dd日
* @param date 日期
* @return 日期(String)
* **/
public static String dateToString(Date date){
return new SimpleDateFormat("yyyy年MM月dd日").format(date);
}

/**创建日期
* @param year 年
* @param month 月(比真实月小1)
* @param day 日
* @return 日期
* **/
public static Date createTime(Integer year,Integer month,Integer day){
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
calendar.set(Calendar.DAY_OF_MONTH,day);
return calendar.getTime();
}

/** 获取year
* @param date 日期
* @return 年份
* **/
public static Integer getYear(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.YEAR);
}

/**获取month
* @param date 日期
* @return 月份(下标比真实月份小1)
* **/
public static Integer getMonth(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MONTH);
}

/**获取day
* @param date 日期
* @return 天
* **/
public static Integer getDay(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_MONTH);
}

/**获取hour
* @param date 日期
* @return 时
* **/
public static Integer getHour(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.HOUR);
}

/**获取minute
* @param date 日期
* @return 分
* **/
public static Integer getMinute(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MINUTE);
}

/**获取Second
* @param date 日期
* @return 秒
* **/
public static Integer getSecond(Date date){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.SECOND);
}

/**获取Second
* @param date1 日期1
* @param date2 日期2
* @return 是否相等
* **/
public static Boolean isSameDay(Date date1,Date date2){
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
return cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR)
&& cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH)
&& cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR);
}

/**获取当前日期的后num年
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date yearAfterDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.YEAR,calendar.get(Calendar.YEAR)+num);
return calendar.getTime();
}

/**获取当前日期的前num年
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date yearBeforeDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.YEAR,calendar.get(Calendar.YEAR)-num);
return calendar.getTime();
}

/**获取当前日期的后num月
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date monthAfterDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)+num);
return calendar.getTime();
}

/**获取当前日期的前num月
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date monthBeforeDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)-num);
return calendar.getTime();
}

/**获取当前日期的后num天
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date dayAfterDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+num);
return calendar.getTime();
}

/**获取当前日期的前num天
* @param date 日期
* @param num 数
* @return 修改后的日期
* **/
public static Date dayBeforeDate(Date date,Integer num){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)-num);
return calendar.getTime();
}
}

/**判断是否是闰年
* @param year 年
* @return 是否是闰年
* **/
public static Boolean leapYear(Integer year){
return year%4==0 && year%100 !=0 ||year%400 ==0;
}


标签:java,是否是,Date,日期,num,date,Integer,Calendar,calendar
From: https://blog.51cto.com/u_15601494/6017709

相关文章

  • 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。
    提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。码云地址:​​​https://gitee.com/guyuanman/holiday​​业务场景:好多公司的业务在处理的时候,会面......
  • java:日期转型将“2023-03-14 00:00:00“转为年月日
    java:日期转型将"2023-03-1400:00:00"转为年月日old="2023-03-1400:00:00"Datedate=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").parse(old);old=newSimpleDateForm......
  • vscode 中新建文件自动显示作者,日期,图文
    vscode中新建文件自动显示作者,日期,图文在商店中下载koroFileHeader选配置,按照ctrl+shift+p全局搜索setting然后输入配置,重启即可{"fileheader.configObj":{"......
  • 06.Java方法
    Java方法何谓方法Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计......
  • java虚拟机日志跟踪相关设置
     GC详细日志简要分析:2023-01-17T14:16:23.810+0800:10233.942:[GC(AllocationFailure)2023-01-17T14:16:23.810+0800:10233.942:[DefNew:70396K->439K(78720K......
  • Java并发编程
    1.并发与并行?并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。并发(concurrency):指在同一时刻只能有......
  • java学习笔记
    键盘输入接收用户输入的数据,使用键盘输入语句来获取。Input.java,需要一个扫描器(对象)Scannerimportjava.util.Scanner;publicclassInput{publicstaticvoidm......
  • JavaWeb开发中在服务器常用命令集锦
    基本的lsmvmidir就不说了。一.后端部署1.1启动jar包#默认会将所有日志存放到一个当前目录中新建的nohup.out文件中nohupjava-jar-Duser.timezone=GMT+8ap......
  • Java反序列化-CommonsCollections1利用链分析
    前言学习Java基础语法也有1年多的时间了,Java安全基础也学了有半年了,期间通过ctf赛题学习过fastjson的反序列化并了解了其利用链,但并未深入学习并记录笔记。一直都说要赶......
  • Java基础-方法
    Java中分类一共四种类型无参无返回、无参带返回、有参无返回和有参带返回 1.无参无返回值得 publicstaticvoid(){...}2.无参带返回值publicstatic 数据类型()......