常用的日期格式化工具类

常用的日期格式化工具类

/**
 * 日期格式化工具类
 * 
 */
public class DateUtil {
    public static SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd",
            Locale.CHINA);
    public static SimpleDateFormat sdf = new SimpleDateFormat(
            "yyyy-MM-dd HH:mm:ss", Locale.CHINA);
    public static SimpleDateFormat sdf_week = new SimpleDateFormat(
            "yyyy-MM-dd EE", Locale.CHINA);
    public static SimpleDateFormat sd_china = new SimpleDateFormat(
            "yyyy年MM月dd日", Locale.CHINA);
    public static SimpleDateFormat sdf_china = new SimpleDateFormat(
            "yyyy年MM月dd日 HH时mm分ss秒", Locale.CHINA);
    public static SimpleDateFormat tt = new SimpleDateFormat(
            "yyyy年MM月dd日  HH:mm", Locale.CHINA);
    private static Calendar calendar;

    public static String Short2LongDate(String date) {
        try {
            date = sd.format(sdf.parse(date));
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 2015-01-01 "2015-01-01"
     * 
     * @param date
     * 
     * @return
     */
    public static String getStringDate(Date date) {
        return getStringDate(date, true);
    }

    /**
     * 2015-01-01 "2015-01-01" 2015-01-01 12:00:00 "2015-01-01 12:00:00"
     * 
     * @param date
     * 
     * @param isshort
     * @return
     */
    public static String getStringDate(Date date, boolean isshort) {
        String dateString;
        if (isshort) {
            dateString = sd.format(date);
        } else {
            dateString = sdf.format(date);
        }
        return dateString;
    }

    /**
     * "2015-01-01" "2015-01-01"
     * 
     * @param dateString
     *            String 日期
     * @return
     */
    public static String getStringDate(String dateString) {
        return getStringDate(dateString, true);
    }

    /**
     * "2015-01-01 "2015-01-01" 2015-01-01 12:00:00 "2015-01-01 12:00:00"
     * 
     * @param date
     * @param isshort
     * @return
     */
    public static String getStringDate(String dateString, boolean isshort) {
        if (dateString.equals("")) {
            return "";
        } else {
            try {
                if (isshort) {
                    dateString = sd.format(sd.parse(dateString));
                } else {
                    dateString = sdf.format(sdf.parse(dateString));
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return dateString;
        }
    }

    /**
     * 2015-01-01 2015-01-01 周一
     * 
     * @param dateString
     * @return
     */
    public static String getDateFormat(String dateString) {
        return getDateFormat(dateString, true);
    }

    /**
     * 2015-01-01 12:00:00 2015-01-01 12:00:00 周一
     * 
     * @param dateString
     * @param ishort
     * @return
     */
    public static String getDateFormat(String dateString, Boolean ishort) {
        String weekString = "周";
        return getDateFormat(dateString, ishort, weekString);
    }

    /**
     * 2015-01-01 2015-01-01 周一 2015-01-01 12:00:00 2015-01-01 12:00:00 周一
     * 
     * @param dateString
     * @param ishort
     * @param weekString
     * @return
     */
    public static String getDateFormat(String dateString, Boolean ishort,
            String weekString) {
        if (dateString.equals("")) {
            return "";
        } else {
            String[] weekDays = { "日", "一", "二", "三", "四", "五", "六" };
            Calendar cal = Calendar.getInstance();
            try {
                if (ishort) {
                    dateString = sd.format(sd.parse(dateString));
                    cal.setTime(sd.parse(dateString));
                } else {
                    dateString = sdf.format(sdf.parse(dateString));
                    cal.setTime(sdf.parse(dateString));
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }
            int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
            if (w < 0) {
                w = 0;
            }
            return dateString + " " + weekString + weekDays[w];
        }
    }

    /**
     * 2015-01-01 2015年01月01日
     * 
     * @param date
     * @return
     */
    public static String getDateChina(String date) {
        return getDateChina(date, true);
    }

    /**
     * 2015-01-01 2015年01月01日 2015-01-01 12:00:00 2015年01月01日 12时00分00秒
     * 
     * @param date
     * @param isshort
     * @return
     */
    public static String getDateChina(String date, Boolean isshort) {
        try {
            if (isshort) {
                date = sd_china.format(sd.parse(date));
            } else {
                date = sdf_china.format(sdf.parse(date));
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * 2015-12-13 17:13:00 2015年12月13日 17:13
     * 
     * @param date
     * @param isshort
     * @return
     */
    public static String getDateChina2(String date, Boolean isshort) {
        try {
            if (isshort) {
                date = tt.format(sd.parse(date));
            } else {
                date = tt.format(sdf.parse(date));
            }
        } catch (Exception e) {
            LogUtil.e("getDateChina2(String date, Boolean isshort)");
        }
        return date;
    }

    /**
     * 2015-01-01 2015-04-01
     * 
     * @param date
     * 
     * @param month
     * @return
     */
    public static String getMonthDate(String date, int month) {
        try {
            calendar = Calendar.getInstance();
            calendar.setTime(sd.parse(date));
            calendar.add(Calendar.MONTH, month);
            date = sd.format(calendar.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * "2015-01-01" dateString
     * 
     * @param dateString
     * 
     * @return
     */
    public static Date String2Date(String dateString) {
        return String2Date(dateString, true);
    }

    /**
     * "2015-01-01 12:00:00" 2015-01-01 12:00:00
     * 
     * @param dateString
     * @return
     */
    public static Date String2Date(String dateString, boolean isshort) {
        Date date = null;
        try {
            if (isshort) {
                date = sd.parse(dateString);
            } else {
                date = sdf.parse(dateString);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }

    /**
     * "2015-12-23" 2015-10-25 两个前的倒数第六天
     * 
     * @param dateString
     * @return
     */
    public static String getCalendarBeforerDate(String dateString) {
        try {
            Date date = sd.parse(dateString);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, -1);
            calendar.set(Calendar.DAY_OF_MONTH, -5);
            dateString = sd.format(calendar.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return dateString;
    }

    /**
     * "2015-12-23" 2015-02-06 两个月后的第六天
     * 
     * @param dateString
     * @return
     */
    public static String getCalendarAfterDate(String dateString) {
        try {
            Date date = sd.parse(dateString);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, 2);
            calendar.set(Calendar.DAY_OF_MONTH, 6);
            dateString = sd.format(calendar.getTime());
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return dateString;
    }

    /**
     * 两个时间之间的时间段
     * 
     * @param dBegin
     * @param dEnd
     * @return
     */
    public static ArrayList<String> getDateBetweenDates(String dBegin,
            String dEnd) {
        ArrayList<String> lDate = new ArrayList<String>();
        try {
            Calendar calBegin = Calendar.getInstance();
            Calendar calEnd = Calendar.getInstance();
            calBegin.setTime(sd.parse(dBegin));
            calBegin.add(Calendar.DAY_OF_MONTH, -1);
            dBegin = sd.format(calBegin.getTime());
            calBegin.setTime(sd.parse(dBegin));
            calEnd.setTime(sd.parse(dEnd));
            while (sd.parse(dEnd).after(calBegin.getTime())) {
                calBegin.add(Calendar.DAY_OF_MONTH, 1);
                lDate.add(sd.format(calBegin.getTime()));
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return lDate;
    }

    /**
     * 
     * @param dateString
     * @return
     */
    public static Date StringWeek2Date(String dateString) {
        Date date = null;
        try {
            date = sdf_week.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值