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

32 篇文章 0 订阅
4 篇文章 0 订阅

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

一级目录

二级目录

三级目录

在我们日常开发过程中,经常对日期进行处理,例如获取年月日什么的操作,我们可以通过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;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷咕咕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值