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()); } }
最近下载更多
姜广坤 LV14
2022年5月20日
冰枫xjz8 LV31
2020年12月22日
xuyongff LV24
2020年11月27日
460369476 LV1
2020年8月3日
moomin709 LV24
2020年7月6日
ma406805131 LV15
2020年6月18日
13043860zj LV16
2020年1月9日
2141853180 LV5
2019年12月9日
JoyKinG LV19
2019年8月15日
托马斯奎 LV6
2019年8月5日
最近浏览更多
3334004690 LV10
5月28日
1358849392 LV21
2023年5月9日
qq1176648922 LV6
2022年10月24日
姜广坤 LV14
2022年5月20日
crosa_Don LV18
2022年4月1日
duqiangedu LV3
2021年12月16日
kane666
2021年12月13日
暂无贡献等级
zhuiyunyiye LV12
2021年12月13日
wuhaigang LV9
2021年10月20日
王雪冰
2021年10月20日
暂无贡献等级