日期包装工具类DateWarpUtil
来源:互联网 发布:linux 777权限 命令 编辑:程序博客网 时间:2024/06/05 03:21
package com.tanfei.sysUtils.wrapCommonUtils;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 时间日期包装类 * @author 谭飞 * @date 2012-01-12 */public class DateWarpUtil { public static final DateFormat default_date_format = new SimpleDateFormat("yyyy-MM-dd"); /*年月日时分秒*/ public static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss"; /*年月日*/ public static final String DATE_PART_FORMAT = "yyyy-MM-dd"; /*时分秒毫秒*/ public static final String TIME_PART_FORMAT = "HH:mm:ss.SSS"; /*年*/ public static final String YEAR_PART_FORMAT = "yyyy"; /*月*/ public static final String MONTH_PART_FORMAT = "MM"; /*日*/ public static final String DAY_PART_FORMAT = "dd"; /*时*/ public static final String HOUR_PART_FORMAT = "HH"; /*分*/ public static final String MINUTES_PART_FORMAT = "mm"; /*秒*/ public static final String SECOND_PART_FORMAT = "ss"; /*毫秒*/ public static final String MILLISECOND_PART_FORMAT = "SSS"; /** * 格式化日期时间 * @param formatStr * @return */ public static String getCurDateTime(String formatStr) { SimpleDateFormat sdf = new SimpleDateFormat(formatStr); String now = sdf.format(new Date()); return now; } /** * 取得当前日期时间 * @return */ public static String getCurDateTime() { return getCurDateTime(DEFAULT_PATTERN); } /** * 取得当前日期 * @return */ public static String getCurDate() { return getCurDateTime(DATE_PART_FORMAT); } /** * 取得当前时间 * @return */ public static String getCurTime() { return getCurDateTime(TIME_PART_FORMAT); } /** * 取得当前年份 * @return */ public static String getCurYear() { return getCurDateTime(YEAR_PART_FORMAT); } /** * 取得当前月份 * @return */ public static String getCurMonth() { return getCurDateTime(MONTH_PART_FORMAT); } /** * 取得当前日 * @return */ public static String getCurDay() { return getCurDateTime(DAY_PART_FORMAT); } /** * 取得当前时 * @return */ public static String getCurHour() { return getCurDateTime(HOUR_PART_FORMAT); } /** * 取得当前分钟 * @return */ public static String getCurMinute() { return getCurDateTime(MINUTES_PART_FORMAT); } /** * 取得当前秒 * @return */ public static String getCurSecond() { return getCurDateTime(SECOND_PART_FORMAT); } /** * 取得当前毫秒 * @return */ public static String getCurMillisecond() { return getCurDateTime(MILLISECOND_PART_FORMAT); } /*-----------------扩展--------------*/ public static final String FIRSTDAY_PART_FORMAT = "yyyy-MM-01"; public static final String LASTDAY_PART_FORMAT = "yyyy-MM-"; /** * 取得当月的第一天 * @return */ public static String getCurFirstDay() { return getCurDateTime(FIRSTDAY_PART_FORMAT); } /** * 取得当月最后一天 * @return */ public static String getCurLastDay() { Calendar cal = Calendar.getInstance(); int maxDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); return getCurDateTime(LASTDAY_PART_FORMAT + maxDay); } /** * 两个日期相差的天数 * @param firstDateStr 起止日期 yyyy-MM-dd * @param lastDateStr 结束日期 yyyy-MM-dd * @return 天数 */ public static String getTwoDateDays(String firstDateStr, String lastDateStr) { SimpleDateFormat format = new SimpleDateFormat(DATE_PART_FORMAT); long days = 0; try { if(Long.valueOf(firstDateStr.replace("-", "")) >= Long.valueOf(lastDateStr.replace("-", ""))) {days = (format.parse(firstDateStr).getTime() - format.parse(lastDateStr).getTime())/(24*60*60*1000); }else { days = (format.parse(lastDateStr).getTime() - format.parse(firstDateStr).getTime())/(24*60*60*1000); } } catch (Exception e) {System.out.println("日期转换异常:传入的日期字符串格式不正确,正确格式(yyyy-MM-dd)如:2012-01-01。" );e.printStackTrace();} return days + ""; } /** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("当前日期时间:" + getCurDateTime()+ "\n当前日期:" + getCurDate()+ "\n当前时间:" + getCurTime());System.out.println("------------\n"+ getTwoDateDays("2011-01-10", "2012-01-12") );}}