⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateformatutils.java

📁 很不错的结合DateTime的综合例子
💻 JAVA
字号:
/**
 * 时间及时间格式处理
 * */

package com.lianjiping.democ;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;

public class DateFormatUtils {
    //系统默认日期格式
    public static final String DATE_FORMAT = "yyyy-MM-dd";
    //系统默认日期时间格式
    public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    //8位日期格式
    public static final String DATE_FORMAT_8 = "yyyyMMdd";
    //14位日期时间格式
    public static final String DATE_TIME_FORMAT_14 = "yyyyMMddHHmmss";

    public final static String YEAR = "year";
    public final static String MONTH = "month";
    public final static String DAY = "day";
    public final static String WEEK = "week";
    public final static String HOUR = "hour";
    public final static String MINUTE = "minute";
    public final static String SECOND = "second";

    //判断参数是否等于空
    private static boolean checkPara(Object para) {
        if (null == para || "".equals(para)) {
            return true;
        } else {
            return false;
        }
    }

    //获得系统的当前时间(毫秒)
    public static long getCurrentTimeMillis() {
        return System.currentTimeMillis();
    }

    //获得系统的当前时间
    public static Date getCurrentDate() {
//        return new Date(System.currentTimeMillis());
        return new Date(getCurrentTimeMillis());
    }

    //获得系统的当前日期(默认格式)
    public static String getCurrentFormatDate() {
        Date currentDate = getCurrentDate();
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_FORMAT);
        return dateFormator.format(currentDate);
    }

    //获得系统的当前日期时间(默认格式)
    public static String getCurrentFormatDateTime() {
        Date currentDate = getCurrentDate();
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_TIME_FORMAT);
        return dateFormator.format(currentDate);
    }

    //获得系统的当前日期时间(指定格式返回)
    public static String getCurrentCustomFormatDateTime(String pattern) {
        if (checkPara(pattern)) {
            return "";
        }
        Date currentDate = getCurrentDate();
        SimpleDateFormat dateFormator = new SimpleDateFormat(pattern);
        return dateFormator.format(currentDate);
    }

    //输入日期(指定格式返回)
    public static String formatDate(Date date, String pattern) {
        if (checkPara(pattern) || checkPara(date)) {
            return "";
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(pattern);
        return dateFormator.format(date);
    }

    //输入日期(指定格式返回)
    public static String formatDate(Date date, String pattern, Locale locale) {
        if (checkPara(pattern) || checkPara(date)) {
            return "";
        }
        if (checkPara(locale)) {
            locale = Locale.getDefault();
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(pattern, locale);
        String customFormatDate = dateFormator.format(date);
        return customFormatDate;
    }

    //将时间字符串按照默认格式(DATE_FORMAT = "yyyy-MM-dd")转换为Date
    public static Date parseStrToDate(String dateStr) {
        if (checkPara(dateStr)) {
            return null;
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_FORMAT);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
        return resDate;
    }

    //将时间字符串按照默认格式(DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss")转换为Date
    public static Date parseStrToDateTime(String dateStr) {
        if (checkPara(dateStr)) {
            return null;
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_TIME_FORMAT);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
        return resDate;
    }

    //将时间字符串按照默认格式(DATE_FORMAT = "yyyy-MM-dd")转换为Calender
    public static Calendar parseStrToCalendar(String dateStr) {
        if (checkPara(dateStr)) {
            return null;
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_TIME_FORMAT);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
        Locale locale = Locale.getDefault();
        Calendar cal = new GregorianCalendar(locale);
        cal.setTime(resDate);
        return cal;
    }

    //将日期字符串转换成日期时间字符串
    public static String parseDateStrToDateTimeStr(String dateStr) {
        if (checkPara(dateStr)) {
            return "";
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                DateFormatUtils.DATE_FORMAT);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
        return formatDate(resDate, DateFormatUtils.DATE_TIME_FORMAT);
    }

    //将时间或者时间日期字符串按照指定格式转换为Date
    public static Date parseStrToCustomPatternDate(String dateStr,
            String pattern) {
        if (checkPara(pattern) || checkPara(dateStr)) {
            return null;
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                pattern);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));

        return resDate;
    }

    //将时间字符串从一种格式转换成另一种格式
    public static String convertDatePattern(String dateStr,
                                            String patternFrom,
                                            String patternTo) {
        if (checkPara(patternFrom) || checkPara(patternTo) || checkPara(dateStr)) {
            return "";
        }
        SimpleDateFormat dateFormator = new SimpleDateFormat(
                patternFrom);
        Date resDate = dateFormator.parse(dateStr, new ParsePosition(0));
        return formatDate(resDate, patternTo);
    }

    //日期天数增加
    public static Date addDays(Date date, int days) {
        if (checkPara(date)) {
            return null;
        }
        if (0 == days) {
            return date;
        }
        Locale loc = Locale.getDefault();
        Calendar cal = new GregorianCalendar(loc);
        cal.setTime(date);
        cal.add(Calendar.DAY_OF_MONTH, days);
        return cal.getTime();
    }

    //日期天数减少
    public static Date minusDays(Date date, int days) {
        return addDays(date, (0 - days));
    }

    //按时间格式相加
    //dateStr 原来时间 / pattern 时间格式
    public static String addDate(String dateStr, String pattern,
                                 String type, int count) {
        if (checkPara(dateStr) || checkPara(pattern) || checkPara(type)) {
            return "";
        }
        if (0 == count) {
            return dateStr;
        }
        Date date = parseStrToCustomPatternDate(dateStr, pattern);
        Locale loc = Locale.getDefault();
        Calendar cal = new GregorianCalendar(loc);
        cal.setTime(date);

        if (DateFormatUtils.YEAR.equals(type)) {
            cal.add(Calendar.YEAR, count);
        } else if (DateFormatUtils.MONTH.equals(type)) {
            cal.add(Calendar.MONTH, count);
        } else if (DateFormatUtils.DAY.equals(type)) {
            cal.add(Calendar.DAY_OF_MONTH, count);
        } else if (DateFormatUtils.WEEK.equals(type)) {
            cal.add(Calendar.WEEK_OF_MONTH, count);
        } else if (DateFormatUtils.HOUR.equals(type)) {
            cal.add(Calendar.HOUR, count);
        } else if (DateFormatUtils.MINUTE.equals(type)) {
            cal.add(Calendar.MINUTE, count);
        } else if (DateFormatUtils.SECOND.equals(type)) {
            cal.add(Calendar.SECOND, count);
        } else {
            return "";
        }
        return formatDate(cal.getTime(), pattern);
    }

    //按时间格式相减
    public static String minusDate(String dateStr, String pattern,
                                   String type, int count) {
        return addDate(dateStr, pattern, type, (0 - count));
    }

    //日期大小比较
    public static int compareDate(String dateStr1, String dateStr2,
                                  String pattern) {
        if (checkPara(dateStr1) || checkPara(dateStr2) || checkPara(pattern)) {
            return 888;
        }
        Date date1 = DateFormatUtils.parseStrToCustomPatternDate(dateStr1,
                pattern);
        Date date2 = DateFormatUtils.parseStrToCustomPatternDate(dateStr2,
                pattern);
        return date1.compareTo(date2);
    }

    //获得本月的第一天
    public static String getFirstDayInMonth(String dateStr) {
        if (checkPara(dateStr)) {
            return "";
        }
        Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
        int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);
        cal.set(Calendar.DAY_OF_MONTH, firstDay);
        return DateFormatUtils.formatDate(cal.getTime(),
                                          DateFormatUtils.DATE_FORMAT);
    }

    //获得本月的最后一天
    public static String getLastDayInMonth(String dateStr) {
        if (checkPara(dateStr)) {
            return "";
        }
        Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
        int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
        cal.set(Calendar.DAY_OF_MONTH, lastDay);
        return DateFormatUtils.formatDate(cal.getTime(),
                                          DateFormatUtils.DATE_FORMAT);
    }

    //获得本周的第一天
    public static String getFirstDayInWeek(String dateStr) {
        if (checkPara(dateStr)) {
            return "";
        }
        Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
        int firstDay = cal.getActualMinimum(Calendar.DAY_OF_WEEK);
        cal.set(Calendar.DAY_OF_WEEK, firstDay);
        return DateFormatUtils.formatDate(cal.getTime(),
                                          DateFormatUtils.DATE_FORMAT);
    }

    //获得本周的最后一天
    public static String getLastDayInWeek(String dateStr) {
        if (checkPara(dateStr)) {
            return "";
        }
        Calendar cal = DateFormatUtils.parseStrToCalendar(dateStr);
        int lastDay = cal.getActualMaximum(Calendar.DAY_OF_WEEK);
        cal.set(Calendar.DAY_OF_WEEK, lastDay);
        return DateFormatUtils.formatDate(cal.getTime(),
                                          DateFormatUtils.DATE_FORMAT);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -