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