我的时间工具类

开始记笔记了,一个好的开始

package com.hanfengyeqiao.utils;

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

/**
 * 日期工具类
 */
public class DateUtil {

    /**
     * 根据Date型的日期,取Calendar型的日期
     * @param date Date型的日期
     * @return Calendar型的日期
     */
    public static Calendar getCalendar(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal;
    }

    /**
     * 日期计算,日加减
     * @param date  初始日期
     * @param amount 天数增量(负数为减)
     * @return 计算后的日期
     */
    public static Date addDays(Date date, int amount) {
    	Calendar cd =getCalendar(date);   
        cd.add(Calendar.DATE, amount);
        return cd.getTime();
    }

    /**
     * 判断指定年份日期的年份是否为闰年
     * @param date 日期
     * @return 闰年ture,非闰年false
     */
    public static boolean isLeapYear(Date date) {
        int year = getCalendar(date).get(Calendar.YEAR);
        return isLeapYear(year);
    }

    /**
     * 判断指定年份日期的年份是否为闰年
     * @param year 年份数字
     * @return 闰年ture,非闰年false
     */
    public static boolean isLeapYear(int year) {
        if ((year % 400) == 0) {
            return true;
        }
        else if ((year % 4) == 0) {
            if ((year % 100) == 0) {
                return false;
            }
            else {
                return true;
            }
        }
        else {
            return false;
        }
    }

    /**
     * 	获取指定日期前一个月的第一天
     */
    public static String getAgoMonthFirstDay(Date date){
    	Calendar calendar =getCalendar(date);
    	SimpleDateFormat sdf=new SimpleDateFormat("YYYY-MM-dd");
    	calendar.add(Calendar.MONTH, -1);
    	calendar.set(Calendar.DAY_OF_MONTH,1);
        return sdf.format(calendar.getTime());
    }
    
    /**
     * 	获取指定日期前一个月的最后一天
     */
    public static String getAgoMonthLastDay(Date date){
    	Calendar calendar =getCalendar(date);
    	SimpleDateFormat sdf=new SimpleDateFormat("YYYY-MM-dd");
    	calendar.set(Calendar.DAY_OF_MONTH, 0);
        return sdf.format(calendar.getTime());
    }
    
    public static void main(String[] args) {
		System.out.println(getAgoMonthLastDay(new Date()));
	}
}

  

猜你喜欢

转载自www.cnblogs.com/hanfengyeqiao/p/9471458.html