package com.common.time; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * * 功能描述: * * @author Administrator * @Date Jul 19, 2008 * @Time 9:47:53 AM * @version 1.0 */ public class DateUtil { public static Date date = null; public static DateFormat dateFormat = null; public static Calendar calendar = null; /** * 功能描述:格式化日期 * * @param dateStr * String 字符型日期 * @param format * String 格式 * @return Date 日期 */ public static Date parseDate(String dateStr, String format) { try { dateFormat = new SimpleDateFormat(format); String dt = dateStr.replaceAll("-", "/"); if ((!dt.equals("")) && (dt.length() < format.length())) { dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]", "0"); } date = (Date) dateFormat.parse(dt); } catch (Exception e) { } return date; } /** * 功能描述:格式化日期 * * @param dateStr * String 字符型日期:YYYY-MM-DD 格式 * @return Date */ public static Date parseDate(String dateStr) { return parseDate(dateStr, "yyyy/MM/dd"); } /** * 功能描述:格式化输出日期 * * @param date * Date 日期 * @param format * String 格式 * @return 返回字符型日期 */ public static String format(Date date, String format) { String result = ""; try { if (date != null) { dateFormat = new SimpleDateFormat(format); result = dateFormat.format(date); } } catch (Exception e) { } return result; } /** * 功能描述: * * @param date * Date 日期 * @return */ public static String format(Date date) { return format(date, "yyyy/MM/dd"); } /** * 功能描述:返回年份 * * @param date * Date 日期 * @return 返回年份 */ public static int getYear(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.YEAR); } /** * 功能描述:返回月份 * * @param date * Date 日期 * @return 返回月份 */ public static int getMonth(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MONTH) + 1; } /** * 功能描述:返回日份 * * @param date * Date 日期 * @return 返回日份 */ public static int getDay(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.DAY_OF_MONTH); } /** * 功能描述:返回小时 * * @param date * 日期 * @return 返回小时 */ public static int getHour(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.HOUR_OF_DAY); } /** * 功能描述:返回分钟 * * @param date * 日期 * @return 返回分钟 */ public static int getMinute(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.MINUTE); } /** * 返回秒钟 * * @param date * Date 日期 * @return 返回秒钟 */ public static int getSecond(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.get(Calendar.SECOND); } /** * 功能描述:返回毫秒 * * @param date * 日期 * @return 返回毫秒 */ public static long getMillis(Date date) { calendar = Calendar.getInstance(); calendar.setTime(date); return calendar.getTimeInMillis(); } /** * 功能描述:返回字符型日期 * * @param date * 日期 * @return 返回字符型日期 yyyy/MM/dd 格式 */ public static String getDate(Date date) { return format(date, "yyyy/MM/dd"); } /** * 功能描述:返回字符型时间 * * @param date * Date 日期 * @return 返回字符型时间 HH:mm:ss 格式 */ public static String getTime(Date date) { return format(date, "HH:mm:ss"); } /** * 功能描述:返回字符型日期时间 * * @param date * Date 日期 * @return 返回字符型日期时间 yyyy/MM/dd HH:mm:ss 格式 */ public static String getDateTime(Date date) { return format(date, "yyyy/MM/dd HH:mm:ss"); } /** * 功能描述:日期相加 * * @param date * Date 日期 * @param day * int 天数 * @return 返回相加后的日期 */ public static Date addDate(Date date, int day) { calendar = Calendar.getInstance(); long millis = getMillis(date) + ((long) day) * 24 * 3600 * 1000; calendar.setTimeInMillis(millis); return calendar.getTime(); } /** * 功能描述:日期相减 * * @param date * Date 日期 * @param date1 * Date 日期 * @return 返回相减后的日期 */ public static int diffDate(Date date, Date date1) { return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000)); } /** * 功能描述:取得指定月份的第一天 * * @param strdate * String 字符型日期 * @return String yyyy-MM-dd 格式 */ public static String getMonthBegin(String strdate) { date = parseDate(strdate); return format(date, "yyyy-MM") + "-01"; } /** * 功能描述:取得指定月份的最后一天 * * @param strdate * String 字符型日期 * @return String 日期字符串 yyyy-MM-dd格式 */ public static String getMonthEnd(String strdate) { date = parseDate(getMonthBegin(strdate)); calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.MONTH, 1); calendar.add(Calendar.DAY_OF_YEAR, -1); return formatDate(calendar.getTime()); } /** * 功能描述:常用的格式化日期 * * @param date * Date 日期 * @return String 日期字符串 yyyy-MM-dd格式 */ public static String formatDate(Date date) { return formatDateByFormat(date, "yyyy-MM-dd"); } /** * 功能描述:以指定的格式来格式化日期 * * @param date * Date 日期 * @param format * String 格式 * @return String 日期字符串 */ public static String formatDateByFormat(Date date, String format) { String result = ""; if (date != null) { try { SimpleDateFormat sdf = new SimpleDateFormat(format); result = sdf.format(date); } catch (Exception ex) { ex.printStackTrace(); } } return result; } public static void main(String[] args) { Date d = new Date(); // System.out.println(d.toString()); // System.out.println(formatDate(d).toString()); // System.out.println(getMonthBegin(formatDate(d).toString())); // System.out.println(getMonthBegin("2008/07/19")); // System.out.println(getMonthEnd("2008/07/19")); System.out.println(addDate(d,15).toString()); } }
最近下载更多
ljt289917726 LV3
2022年9月5日
zhy1989wz LV6
2022年3月11日
wxhky159159 LV1
2022年1月4日
duqiangedu LV3
2021年12月16日
LanQian111111 LV1
2021年8月18日
落后就要挨打 LV26
2021年6月16日
耀眼的星星 LV3
2021年4月17日
2469095052 LV8
2021年3月3日
花椒谢霆锋 LV8
2021年3月3日
gaoyangzhi LV1
2021年1月25日