Date操作工具类

来源:互联网 发布:菜鸟网络p7期权 编辑:程序博客网 时间:2024/06/06 00:10
Date操作格式化工具类
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());}}

原创粉丝点击