日期转换工具类

来源:互联网 发布:java split函数最后 编辑:程序博客网 时间:2024/05/18 01:57

       都是一些比较常用的日期工具类

       

public final class DateUtils {/** * 构造函数。 */private DateUtils() {}/** * 取得AP系统时间。 * * @return AP系统时间 */public static Date getSystemDate() {return new Date();}/** * 取得AP系统时间,不包括时分秒。 * * @return AP系统时间 */public static Date getDate() {Calendar calendar = getSystemCalendar();calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE), 0, 0, 0);return DateUtils.convertString2Date(DateUtils.convertDate2String(calendar.getTime(), "yyyyMMdd"),"yyyyMMdd");}/** * 取得AP系统时间。 * * @return AP系统时间 */public static Calendar getSystemCalendar() {return Calendar.getInstance();}/** * 系统日期的年月日时分秒毫秒的文字列,取得方法。 * * @return 年月日时分秒毫秒的文字列 */public static String getTimeStamp() {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");return sdf.format(getSystemDate());}/** * 参数的字符串使用指定的格式转换日期型的方法。 * * @param str 转换的对象 * @param pattern 日期时间格式的模式 * @return 参数null的时候返回null,字符串时按照指定的日期时间格式实行Date型转换 */public static Date convertString2Date(String str, String pattern) {if (str == null || "".equals(str)) {return null;}SimpleDateFormat sdf = new SimpleDateFormat(pattern);Calendar calendar = Calendar.getInstance();try {calendar.setTime(sdf.parse(str.trim()));} catch (ParseException ex) {throw new RuntimeException(ex);}return calendar.getTime();}/** * 参数的日期型使用指定的格式转换字符串的方法。 * * @param date 转换的对象 * @param pattern 日期时间格式的模式 * @return 参数null的时候返回null,字符串时按照指定的日期时间格式实行String型转换 */public static String convertDate2String(Date date, String pattern) {if (date == null) {return null;}SimpleDateFormat sdf = new SimpleDateFormat(pattern);return sdf.format(date);}/** * 参数的日期被指定的日加算的方法。 * * @param date 日期 * @param day 加算的日 * @return 加算后的日期 */public static Date addDay(Date date, int day) {if (date == null) {return null;}Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.DATE, day);return calendar.getTime();}/** * 参数的日期被指定的秒加算的方法。 * * @param date 日期 * @param second 加算的秒 * @return 加算后的日期 */public static Date addSecond(Date date, int second) {if (date == null) {return null;}Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.add(Calendar.SECOND, second);return calendar.getTime();}/** * 参数的日期取得当月的首日 * * @param date 日付 * @return 当月的首日 */public static Date getFirstDay(Date date) {if (date == null) {return null;}Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.DAY_OF_MONTH, 1);return calendar.getTime();}/** * 参数的日期取得当月的末日 * * @param date 日付 * @return 当月的末日 */public static Date getLastDay(Date date) {if (date == null) {return null;}Calendar calendar = Calendar.getInstance();calendar.setTime(date);calendar.set(Calendar.DATE, 1);calendar.roll(Calendar.DATE, -1);return calendar.getTime();}/** * 字符串是否是正确日期格式的判定 * * @param date 日期字符串 * @param pattern 日期时间格式的模式 * @return 字符是正确的日期格式  true */public static boolean isValidDate(String date, String pattern) {if (date == null) {return false;}SimpleDateFormat sdf = new SimpleDateFormat(pattern);try {sdf.setLenient(false);sdf.parse(String.valueOf(date));} catch (ParseException ex) {return false;}return true;}/** * 获取前后时间的日差的方法。 * * @param stateDate 开始时间 * @param endDate 结束时间 * @return 前后时间的日差 */public static int dateDiff(Date stateDate, Date endDate) {return (int) ((endDate.getTime() - stateDate.getTime()) / (1000 * 60 * 60 * 24));}    /**     * 根据参数格式化日期方法。     *     * @param strDate 需要格式化的对象     * @param origPattern  变换元的日期格式化参数(例如:yyyy-MM-dd;yyyyMMddhhmmss等)     * @param destPattern  变化后的日期格式化参数(例如:yyyy-MM-dd;yyyyMMddhhmmss等)     * @return 参数origDate是null场合或异常的场合返回空串,否则返回格式化后的日期     */    public static String formatDateTime(Object origDate, String origPattern, String destPattern) {        String formatDate = "";        String strDate = "";        if (origDate == null) {            return formatDate;        }        strDate = String.valueOf(origDate).trim();        if ("".equals(strDate) || "0".equals(strDate)) {            return formatDate;        }        SimpleDateFormat sdf = new SimpleDateFormat(origPattern);        Calendar calendar = Calendar.getInstance();        try {            calendar.setTime(sdf.parse(strDate));            sdf.applyPattern(destPattern);            formatDate = sdf.format(calendar.getTime());        } catch (ParseException ex) {            throw new RuntimeException(ex);        }        return formatDate;    }}

原创粉丝点击