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) )
{
} else {return null;
} } } </pre>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; }