package com.chinacreator.videoalliance.order.util; import org.apache.log4j.Logger; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * DateFormat.SHORT: 07-2-1
* DateFormat.MEDIUM: 2007-2-1
* DateFormat.LONG: 2007年2月1日
* DateFormat.FULL: 2007年2月1日 星期四
* * @author 周振华 * */ public class DateUtil { private static final Logger log = Logger.getLogger(DateUtil.class); /** * 获取某个月份的最后的一天 * * @param date * @return */ public static Date getLastDateOfMonth(Date date) { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE)); return calendar.getTime(); } /** * 获得该月的最后一天 * * @param yearMonth * 年年年年月月 * @return */ public static String getLastDateOfMonth(String yearMonth) { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int date = c.get(Calendar.DATE); try { year = Integer.parseInt(yearMonth.substring(0, 4)); month = Integer.parseInt(yearMonth.substring(4, 6)) - 1; date = c.get(Calendar.DATE); } catch (Exception e) { // 出现异常默认当前月 year = c.get(Calendar.YEAR); month = c.get(Calendar.MONTH); date = c.get(Calendar.DATE); } c.set(year, month, date); return String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH)); } /** * 获取当月的最后一天 * * @return */ public static int getLastDayOfCurrMonth() { Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int date = c.get(Calendar.DATE); c.set(year, month, date); return c.getActualMaximum(Calendar.DAY_OF_MONTH); } /** * 把日期从String类型转化为date类型 * @param date * @param format * @return */ public static Date getDate(String date,String format){ Date dt = null; try { dt = new SimpleDateFormat(format).parse(date); } catch (ParseException e) { log.error("要格式化的日期字符串格式不正确: "+format + date); } return dt; } /** * 日期转换成字符串,如果需转换的日期为NULL,则返回为NULL(默认格式为日期) * * @param date * Date 需转换的日期 * @return String 日期字符串 */ public static String formatMedium(Date date,String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } public static String format(Date date,String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * 获得当月的第一天 * @return */ public static String getFirstDay(String format) { Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_MONTH, 1); return formatMedium(calendar.getTime(),format); } public static void main(String[] args) { } }