java中处理日期时间的类_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;

}

}

}

}

你可能感兴趣的:(java中处理日期时间的类)