java 日期时间处理类详解编程语言

import java.util.Calendar; 
import java.sql.Date; 
import java.text.SimpleDateFormat; 
import java.text.ParseException; 
 
/** 
 * Utility to date time 
 * @version 0.1 
 * @author Super Zhao 
 */ 
public class DateTimeUtil 
{ 
 
    /** 
     * 由java.util.Date到java.sql.Date的类型转换 
     * @param date 
     * @return Date 
     */ 
    public static Date getSqlDate (java.util.Date date) 
    { 
        return new Date (date.getTime() ); 
    } 
 
    public static Date nowDate() 
    { 
        Calendar calendar = Calendar.getInstance(); 
        return getSqlDate (calendar.getTime() ); 
    } 
 
    /** 
     * 获得某一日期的后一天 
     * @param date 
     * @return Date 
     */ 
    public static Date getNextDate (Date date) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.setTime (date); 
        int day = calendar.get (Calendar.DATE); 
        calendar.set (Calendar.DATE, day + 1); 
        return getSqlDate (calendar.getTime() ); 
    } 
 
    /** 
     * 获得某一日期的前一天 
     * @param date 
     * @return Date 
     */ 
    public static Date getPreviousDate (Date date) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.setTime (date); 
        int day = calendar.get (Calendar.DATE); 
        calendar.set (Calendar.DATE, day - 1); 
        return getSqlDate (calendar.getTime() ); 
    } 
 
    /** 
     * 获得某年某月第一天的日期 
     * @param year 
     * @param month 
     * @return Date 
     */ 
    public static Date getFirstDayOfMonth (int year, int month) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.set (Calendar.YEAR, year); 
        calendar.set (Calendar.MONTH, month - 1); 
        calendar.set (Calendar.DATE, 1); 
        return getSqlDate (calendar.getTime() ); 
    } 
 
    /** 
     * 获得某年某月最后一天的日期 
     * @param year 
     * @param month 
     * @return Date 
     */ 
    public static Date getLastDayOfMonth (int year, int month) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.set (Calendar.YEAR, year); 
        calendar.set (Calendar.MONTH, month); 
        calendar.set (Calendar.DATE, 1); 
        return getPreviousDate (getSqlDate (calendar.getTime() ) ); 
    } 
 
    /** 
     * 由年月日构建java.sql.Date类型 
     * @param year 
     * @param month 
     * @param date 
     * @return Date 
     */ 
    public static Date buildDate (int year, int month, int date) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.set (year, month - 1, date); 
        return getSqlDate (calendar.getTime() ); 
    } 
 
    /** 
     * 取得某月的天数 
     * @param year 
     * @param month 
     * @return int 
     */ 
    public static int getDayCountOfMonth (int year, int month) 
    { 
        Calendar calendar = Calendar.getInstance(); 
        calendar.set (Calendar.YEAR, year); 
        calendar.set (Calendar.MONTH, month); 
        calendar.set (Calendar.DATE, 0); 
        return calendar.get (Calendar.DATE); 
    } 
 
    /** 
     * 获得某年某季度的最后一天的日期 
     * @param year 
     * @param quarter 
     * @return Date 
     */ 
    public static Date getLastDayOfQuarter (int year, int quarter) 
    { 
        int month = 0; 
        if (quarter > 4) 
        { 
            return null; 
        } 
        else 
        { 
            month = quarter * 3; 
        } 
        return getLastDayOfMonth (year, month); 
 
    } 
 
    /** 
     * 获得某年某季度的第一天的日期 
     * @param year 
     * @param quarter 
     * @return Date 
     */ 
    public static Date getFirstDayOfQuarter (int year, int quarter) 
    { 
        int month = 0; 
        if (quarter > 4) 
        { 
            return null; 
        } 
        else 
        { 
            month = (quarter - 1) * 3 + 1; 
        } 
        return getFirstDayOfMonth (year, month); 
    } 
 
    /** 
     * 获得某年的第一天的日期 
     * @param year 
     * @return Date 
     */ 
    public static Date getFirstDayOfYear (int year) 
    { 
        return getFirstDayOfMonth (year, 1); 
    } 
 
    /** 
     * 获得某年的最后一天的日期 
     * @param year 
     * @return Date 
     */ 
    public static Date getLastDayOfYear (int year) 
    { 
        return getLastDayOfMonth (year, 12); 
    } 
 
    /** 
     * String到java.sql.Date的类型转换 
     * @param param 
     * @return Date 
     */ 
    public static java.sql.Date StringToDate (String param) 
    { 
        if (StringUtil.nullOrBlank (param) ) 
        { 
            return null; 
        } 
        else 
        { 
            java.util.Date date = null; 
            try 
            { 
                SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd"); 
                date = sdf.parse (param); 
                return new Date (date.getTime() ); 
            } 
            catch (ParseException ex) 
            { 
                //ex.printStackTrace(); 
                return null; 
            } 
        } 
    } 
} 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10877.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论