All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.commons.utils.DateUtil Maven / Gradle / Ivy

There is a newer version: 1.2.6
Show newest version
package com.github.commons.utils;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.concurrent.TimeUnit;

public class DateUtil {
    /** yyyy-MM-dd */
    public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
    /** yyyyMMdd */
    public static final String DATE_FORMAT = "yyyyMMdd";
    /** HH:mm:ss */
    public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";
    /** yyyy-MM-dd HH:mm:ss */
    public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
    /** yyyy年MM月dd日 */
    public static final String CN_DATE_FORMAT = "yyyy年MM月dd日";
    /** yyyyMMddHHmmss */
    public static final String DATE_FORMAT_TIME = "yyyyMMddHHmmss";
    /** HHmmss */
    public static final String TIME = "HHmmss";
    /**
     * 尝试把一个String按照指定的多个pattern进行转换,转换成功返回结果,失败返回null,如果值为空直接返回null
     * @param value 需要转换为日期的字符串
     * @param patterns 日期pattern,多个以[,]分割
     * @return Date
     */
    public static Date tryStr2Date(String value, String patterns) {
        return tryStr2Date(value, StringUtils.split(patterns, ","));
    }

    /**
     * 尝试把一个String按照指定的多个pattern进行转换,转换成功返回结果,失败返回null,如果值为空直接返回null
     * @param value 需要转换为日期的字符串
     * @param patterns 日期pattern数组
     * @return Date
     */
    public static Date tryStr2Date(String value, String [] patterns) {
        Validate.notEmpty(patterns,"patterns 不能为空");
        Date d = null;
        if (StringUtils.isNotEmpty(value)) {
            for (String p : patterns) {
                try {
                    d = DateUtil.str2Date(value, p);
                    break;
                } catch (Exception e) {
                    continue;
                }
            }
        }
        return d;
    }

    /**
     * 返回当前时间的星期
     * @param date 时间
     * @throws Exception 异常
     * @return 当前时间的星期
     */
    public static int dayForWeek(Date date) throws Exception {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        c.setTime(format.parse(format.format(date)));
        int dayForWeek = 0;
        if (c.get(Calendar.DAY_OF_WEEK) == 1) {
            dayForWeek = 7;
        } else {
            dayForWeek = c.get(Calendar.DAY_OF_WEEK) - 1;
        }
        return dayForWeek;
    }

    /**
     * 按指定格式将字符串转换为日期
     * @param dateStr 日期串
     * @param pattern 格式
     * @return 日期
     */
    public static Date str2Date(String dateStr, String pattern){
        if (StringUtils.isBlank(dateStr)) {
            return null;
        }
        if (null == pattern) {
            pattern = DEFAULT_DATE_FORMAT;
        }
        SimpleDateFormat format = new SimpleDateFormat();
        format.applyPattern(pattern);
        try {
            return format.parse(dateStr);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 将字符串转换为日期时间:yyyy-MM-dd
     * @param dateStr 日期串
     * @return 日期时间
     */
    public static Date str2Date(String dateStr){
        return str2Date(dateStr, null);
    }

    /**
     * 将字符串转换为日期时间:yyyy-MM-dd HH:mm:ss
     * @param dateStr 日期串
     * @return 日期时间
     */
    public static Date str2DateTime(String dateStr){
        return str2DateTime(dateStr, null);
    }

    /**dateStr:yyyyMMddHHmmss
     * 将字符串转换为日期时间:yyyy-MM-dd HH:mm:ss
     * @param dateStr 日期串
     * @return 日期时间
     */
    public static Date strTwoDateTime(String dateStr) {
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append(dateStr.substring(0, 4));
        stringBuffer.append("-");
        stringBuffer.append(dateStr.substring(4, 6));
        stringBuffer.append("-");
        stringBuffer.append(dateStr.substring(6, 8));
        stringBuffer.append(" ");
        stringBuffer.append(dateStr.substring(8, 10));
        stringBuffer.append(":");
        stringBuffer.append(dateStr.substring(10, 12));
        stringBuffer.append(":");
        stringBuffer.append(dateStr.substring(12, 14));
        //String str = dateStr.substring(0, 4)+"-"+dateStr.substring(4, 6)+"-"+dateStr.substring(6, 8)+" "+dateStr.substring(8, 10)+":"+dateStr.substring(10, 12)+":"+dateStr.substring(12, 14);
        return str2DateTime(stringBuffer.toString());
    }
    /**
     * 按指定格式将字符串转换为日期时间
     * @param dateStr 日期串
     * @param pattern 格式
     * @return 日期时间
     */
    public static Date str2DateTime(String dateStr, String pattern){
        if (StringUtils.isBlank(dateStr)) {
            return null;
        }
        if (null == pattern) {
            pattern = DEFAULT_DATE_TIME_FORMAT;
        }
        SimpleDateFormat format = new SimpleDateFormat();
        format.applyPattern(pattern);
        try {
            return format.parse(dateStr);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 将日期格式化为字符串
     *
     * @param date 日期
     * @param pattern 格式
     * @return 格式化后的日期串
     */
    public static String date2Str(Date date, String pattern) {
        if (null == date) {
            return null;
        }
        if (null == pattern) {
            pattern = DEFAULT_DATE_FORMAT;
        }
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        return format.format(date);
    }

    /**
     * 将日期时间格式化为字符串
     *
     * @param date 日期
     * @param pattern 格式
     * @return 格式化后的日期时间串
     */
    public static String dateTime2Str(Date date, String pattern) {
        if (null == date) {
            return null;
        }
        if (null == pattern) {
            pattern = DEFAULT_DATE_TIME_FORMAT;
        }
        SimpleDateFormat format = new SimpleDateFormat(pattern);
        return format.format(date);
    }

    /**
     * 取得当前时间戳
     *
     * @return 当前时间戳
     */
    public static String getCurrentTime() {
        return new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
    }

    /**
     * 取得当前日期
     *
     * @return 当前日期
     */
    public static String thisDate() {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());
        return new SimpleDateFormat(DEFAULT_DATE_FORMAT).format(calendar.getTime());
    }

    /**
     * 取得当前时间
     *
     * @return 当前时间
     */
    public static String thisTime() {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());
        return new SimpleDateFormat(DEFAULT_TIME_FORMAT).format(calendar.getTime());
    }

    /**
     * 取得当前完整日期时间
     *
     * @return 当前完整日期时间
     */
    public static String thisDateTime() {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());
        return new SimpleDateFormat(DEFAULT_DATE_TIME_FORMAT).format(calendar.getTime());
    }

    /**
     * 获取某月最后一天的日期数字
     *
     * @param firstDate 日期
     * @return 某月最后一天的日期数字
     */
    public static int getLastDayOfMonth(Date firstDate){
        Calendar cal = Calendar.getInstance();
        cal.setTime(firstDate);
        return cal.getActualMaximum(Calendar.DATE);
    }

    /**
     * 取得今天的最小时间
     *
     * @return 今天的最小时间
     */
    public static Date getTodayMin() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        return cal.getTime();
    }

    /**
     * 取得今天的最大时间
     * @return 今天的最大时间
     */
    public static Date getTodayMax() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        return cal.getTime();
    }

    /**
     * 取得明天的最小时间
     * @return 明天的最小时间
     */
    public static Date getTomorrowMin() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DATE, 1);
        return cal.getTime();
    }

    /**
     * 取得明天的最大时间
     *
     * @return 明天的最大时间
     */
    public static Date getTomorrowMax() {
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        cal.add(Calendar.DATE, 1);

        return cal.getTime();
    }

    /**
     * 由指定时间、时间域、数额,计算时间值
     * @param standard 指定时间
     * @param type 时间域
     * @param amount 数额
     * @return 时间值
     */
    public static Date genDiffDate(Date standard, int type, int amount) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(standard);
        cal.add(type, amount);

        return cal.getTime();
    }

    /**
     * 生成指定时间所在的小时段(清空:分钟、秒、毫秒)
     * @param standard 指定时间
     * @return 指定时间所在的小时段
     */
    public static Date genHourStart(Date standard) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(standard);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);

        return cal.getTime();
    }

    /**
     * 取得当前天后,减去指定天数后的最小时间
     *
     * @param date 当前日期
     * @param beforeDay 天数
     * @return 当前天后,减去指定天数后的最小时间
     */
    public static Date getBeforeDayMin(Date date, int beforeDay) {
        return getDayMin(date, -beforeDay);
    }

    /**
     * 取得当前天后,减去指定天数后的最大时间
     *
     * @param date 当前日期
     * @param beforeDay 天数
     * @return 当前天后,减去指定天数后的最大时间
     */
    public static Date getBeforeDayMax(Date date, int beforeDay) {
        return getDayMax(date, -beforeDay);
    }

    /**
     * 取得当前天后,加上指定天数后的最小时间
     *
     * @param date  当前日期
     * @param afterDay 天数
     * @return 当前天后,加上指定天数后的最小时间
     */
    public static Date getAfterDayMin(Date date, int afterDay) {

        return getDayMin(date, afterDay);
    }

    /**
     * 取得当前天后,加上指定天数后的最大时间
     *
     * @param date 当前日期
     * @param afterDay 天数
     * @return 当前天后,加上指定天数后的最大时间
     */
    public static Date getAfterDayMax(Date date, int afterDay) {
        return getDayMax(date, afterDay);
    }

    /**
     * 取得当前天后,加上指定天数后的最小时间
     *
     * @param date 当前日期
     * @param addDay 天数
     * @return 当前天后,加上指定天数后的最小时间
     */
    public static Date getDayMin(Date date, int addDay) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        cal.add(Calendar.DATE, addDay);
        return cal.getTime();
    }

    /**
     * 取得当前天 ,加上指定天数后的最大时间
     *
     * @param date 当前日期
     * @param addDay 天数
     * @return 当前天 ,加上指定天数后的最大时间
     */
    public static Date getDayMax(Date date, int addDay) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        cal.add(Calendar.DATE, addDay);

        return cal.getTime();
    }

    /**
     * 取得当前天 ,加上指定天数后的时间
     *
     * @param date 当前日期
     * @param addDay 天数
     * @return 当前天 ,加上指定天数后的时间
     */
    public static Date addDays(Date date, int addDay) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.DATE, addDay);
        return cal.getTime();
    }

    /**
     * 取得当前天 ,加上指定月份数后的时间
     *
     * @param date 当前日期
     * @param months 月份数
     * @return 当前天 ,加上指定月份数后的时间
     */
    public static Date addMonths(Date date, int months) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.MONTH, months);
        return cal.getTime();
    }

    /**
     * 日期差天数(按照时间比较,如果不足一天会自动补足)
     * @param date1 开始日期
     * @param date2 结束日期
     * @return 两日期差天数
     */
    public static int diff(Date date1, Date date2){
        long day = TimeUnit.DAYS.toMillis(1);
        String str1 = date2Str(date1, "yyyy-MM-dd");
        date1 = str2Date(str1, "yyyy-MM-dd");
        String str2 = date2Str(date2, "yyyy-MM-dd");
        date2 = str2Date(str2, "yyyy-MM-dd");
        return (int) (((date2.getTime() - date1.getTime()) / day));
    }

    /**
     * 日期差天数(和当前时间比)
     * @param date 比较日期
     * @return 和当前日期差天数
     */
    public static int diff(Date date){
        return diff(new Date(), date);
    }

    /**
     * 按固定格式比较两个日期
     * @param date1 日期
     * @param date2 日期2
     * @param pattern 格式 默认:yyyy-MM-dd
     * @return 比较结果
     */
    public static int compareDate(Date date1, Date date2, String pattern) {
        String d1 = date2Str(date1, pattern);
        String d2 = date2Str(date2, pattern);
        return d1.compareTo(d2);
    }

    /**
     * 按固定格式比较两个日期+时间
     *
     * @param time1  日期时间
     * @param time2  日期时间2
     * @param pattern 格式 默认: yyyy-MM-dd HH:mm:ss
     * @return 比较结果
     */
    public static int compareDateTime(Date time1, Date time2, String pattern) {
        String d1 = dateTime2Str(time1, pattern);
        String d2 = dateTime2Str(time2, pattern);
        return d1.compareTo(d2);
    }

    /**
     * 判断是否是闰年
     *
     * @param date 日期
     * @return boolean
     */
    public static boolean isLeapyear(Date date) {
        GregorianCalendar gregorianCalendar = new GregorianCalendar();
        gregorianCalendar.setTime(date);
        return gregorianCalendar.isLeapYear(gregorianCalendar.get(Calendar.YEAR));
    }

    /**
     * 根据传入日期得到本月月末
     * @param date 传入日期
     * @return date 月末日期
     */
    public static Date getLastDateOfMonth(Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        return getLastDateOfMonth(c);
    }

    /**
     * Description: 根据传入日期得到本月月初
     * @param date 时间
     * @return Date 本月月初
     */
    public static Date getFirstDateOfMonth(Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        return getFirstDateOfMonth(c);
    }

    /**
     * 根据传入日期得到本月月初
     * @param calendar 传入日期
     * @return date 月末日期
     */
    public static Date getFirstDateOfMonth(Calendar calendar) {
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 根据传入日期得到本月月末
     * @param calendar 传入日期
     * @return date 月末日期
     */
    public static Date getLastDateOfMonth(Calendar calendar) {
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        return calendar.getTime();
    }

    /**
     * 根据传入日期得到本月月末,如果传入日期为月末则返回传入日期
     * @param date 传入日期
     * @return boolean true为是
     */
    public static boolean isLastDateOfMonth(Date date) {
        Calendar c = Calendar.getInstance();
        c.setTime(date);
        return isLastDateOfMonth(c);
    }

    /**
     * 根据传入日期得到本月月末,如果传入日期为月末则返回传入日期
     * @param date 传入日期
     * @return boolean false为不是
     */
    public static boolean isLastDateOfMonth(Calendar date) {
        if (date.getActualMaximum(Calendar.DAY_OF_MONTH) == date.get(Calendar.DAY_OF_MONTH)) {
            return true;
        }
        return false;
    }

    /**
     * 根据日期得到年份
     * @param date 日期
     * @return 年份
     */
    public static int getYear(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal.get(Calendar.YEAR);
    }

    /**
     * 根据日期得到月份
     *
     * @param date 日期
     * @return 月份
     */
    public static int getMonth(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal.get(Calendar.MONTH) + 1;
    }

    /**
     * 根据日期得到日
     *
     * @param date 日期
     * @return 日
     */
    public static int getDay(Date date) {
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        return cal.get(Calendar.DAY_OF_MONTH);
    }

    /**
     * 时间格式化
     *
     * @param millonSeconds 毫秒
     * @param language 语言
     * @return time
     */
    public static String formatMilliseconds(long millonSeconds, String language) {
        String v = "";
        long second = millonSeconds / 1000;// 转换为秒
        long millonSecond = millonSeconds - second * 1000;// 多出的不足一秒的毫秒数
        boolean isChinese = language.equalsIgnoreCase("chinese");
        if (isChinese) {
            v += millonSecond + "毫秒";
        } else {
            v += millonSecond + "ms.";
        }
        if (second > 0)// 如果还有秒
        {
            long minutes = second / 60;// 分钟取整
            second = second - minutes * 60;// 不足一分钟的秒数
            if (isChinese) {
                v = second + "秒" + v;
            } else {
                v = second + "s" + v;
            }
            if (minutes > 0)// 如果还有分钟
            {
                long hours = minutes / 60;// 小时取整
                minutes = minutes - hours * 60;// 不足一小时的分钟数
                if (isChinese) {
                    v = minutes + "分" + v;
                } else {
                    v = minutes + "minutes " + v;
                }
                if (hours > 0) {
                    long days = hours / 24;// 天取整
                    hours = hours - days * 24;// 不足一天的小时数
                    if (isChinese) {
                        v = hours + "小时" + v;
                    } else {
                        v = hours + "hours " + v;
                    }
                    if (days > 0) {
                        if (isChinese) {
                            v += days + "天" + v;
                        } else {
                            v += days + " days " + v;
                        }
                    }
                }
            }
        }
        return v;
    }

    /**
     * 时间格式化
     *
     * @param millonSeconds 毫秒
     * @return time
     */
    public static String formatMilliseconds(long millonSeconds) {
        return formatMilliseconds(millonSeconds, "CHINESE");
    }

    /**
     * 计算两个日期之间相差的天数
     * @param smdate 较小的时间
     * @param bdate 较大的时间
     * @return 相差天数
     * @throws ParseException 异常
     */
    public static int daysBetween(Date smdate,Date bdate) throws ParseException {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        smdate=sdf.parse(sdf.format(smdate));
        bdate=sdf.parse(sdf.format(bdate));
        Calendar cal = Calendar.getInstance();
        cal.setTime(smdate);
        long time1 = cal.getTimeInMillis();
        cal.setTime(bdate);
        long time2 = cal.getTimeInMillis();
        long between_days=(time2-time1)/(1000*3600*24);

        return Integer.parseInt(String.valueOf(between_days));
    }

    /**
     * 字符串的日期格式的计算
     * @param smdate 字符串1
     * @param bdate 字符串2
     * @return int 数字
     * @throws ParseException 异常
     */
    public static int daysBetween(String smdate,String bdate) throws ParseException{
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
        cal.setTime(sdf.parse(smdate));
        long time1 = cal.getTimeInMillis();
        cal.setTime(sdf.parse(bdate));
        long time2 = cal.getTimeInMillis();
        long between_days=(time2-time1)/(1000*3600*24);

        int parseInt = Integer.parseInt(String.valueOf(between_days));
        return parseInt;
    }

    /**
     * @param  dateStr  開始日期
     * @param  span  月份跨度
     * @return 字符串
     * @throws ParseException 异常
     */
    public static String getLastDay(String dateStr, int span) throws ParseException{
        Calendar lastDate = Calendar.getInstance();
        SimpleDateFormat c=new SimpleDateFormat("yyyy-MM-dd");
        Date d = c.parse(dateStr);
        lastDate.setTime(d);
        lastDate.set(Calendar.DATE, 1);
        lastDate.add(Calendar.MONTH, span);
        lastDate.add(Calendar.DATE, -1);
        return c.format(lastDate.getTime());
    }

    /**
     * 时间相加
     * @param time1 时间1
     * @param time2 时间2
     * @return String 时间之和
     */
    public static String timeAdd(String time1, String time2){
        String time = "00:00:00";

        if (time1!=null&&time2!=null){
            String c[] = time1.split(":");
            String substring = c[0];
            String substring1 = c[1];
            String substring2 = c[2];
            int i = Integer.parseInt(substring);
            int i1 = Integer.parseInt(substring1);
            int i2 = Integer.parseInt(substring2);

            String f[] = time2.split(":");
            String sub = f[0];
            String sub1 = f[1];
            String sub2 = f[2];
            int in = Integer.parseInt(sub);
            int in1 = Integer.parseInt(sub1);
            int in2 = Integer.parseInt(sub2);

            i2=i2+in2;
            int ss = i2/60;
            int dd = i2%60;

            i1=i1+in1+ss;
            int ss1 = i1/60;
            int dd1 = i1%60;
            i=i+in+ss1;

            String dd1v= String.valueOf(dd1);
            String ddv= String.valueOf(dd);
            String iv= String.valueOf(i);
            if(iv.length()==1){
                if(dd1v.length()==1&&ddv.length()==1){
                    dd1v="0"+dd1v;
                    ddv="0"+ddv;
                    iv="0"+iv;
                    time = iv+":"+dd1v+":"+ddv;
                    return time;
                }else if(ddv.length()==1&&dd1v.length()!=1){
                    ddv="0"+ddv;
                    iv="0"+iv;
                    time = iv+":"+dd1v+":"+ddv;
                    return time;
                }else if(dd1v.length()==1&&ddv.length()!=1){
                    dd1v="0"+dd1v;
                    iv="0"+iv;
                    time = iv+":"+dd1v+":"+ddv;
                    return time;
                }else{
                    iv="0"+iv;
                    time = iv+":"+dd1v+":"+ddv;
                    return time;
                }
            }else{
                if(dd1v.length()==1&&ddv.length()==1){
                    dd1v="0"+dd1v;
                    ddv="0"+ddv;
                    time = i+":"+dd1v+":"+ddv;
                    return time;
                }else if(ddv.length()==1&&dd1v.length()!=1){
                    ddv="0"+ddv;
                    time = i+":"+dd1+":"+ddv;
                    return time;
                }else if(dd1v.length()==1&&ddv.length()!=1){
                    dd1v="0"+dd1v;
                    time = i+":"+dd1v+":"+dd;
                    return time;
                }else{
                    time = i+":"+dd1+":"+dd;
                    return time;
                }
            }
        }else if (time1!=null&&time2==null){
            time=time1;
            return time;

        }else if (time1==null&&time2!=null){
            time=time2;
            return time;

        }else{
            return time;
        }
    }

    public static String getYesterday() {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());
        calendar.add(Calendar.DAY_OF_MONTH, -1);
        return new SimpleDateFormat(DEFAULT_DATE_FORMAT).format(calendar.getTime());
    }

    public static String getTodayStr() {
        DateFormat df = new SimpleDateFormat(DATE_FORMAT);
        return df.format(new Date());
    }

    public static String thisDateTimeStr() {
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());
        return new SimpleDateFormat(DATE_FORMAT_TIME).format(calendar.getTime());
    }


    public static Long getNumber(String timeStr,Integer type){
        if(StringUtils.isBlank(timeStr)){
            return null;
        }
        Date date = str2Date(timeStr, DEFAULT_DATE_TIME_FORMAT);
        String str = dateTime2Str(date, DATE_FORMAT_TIME);
        if(type == null){
            return Long.valueOf(str);
        }
        if(type == 0){//返回年月日的Integer
            return Long.valueOf(str.substring(0,8));
        }else if(type == 1){//返回时分秒的Integer
            return Long.valueOf(str.substring(8,str.length()));
        }else{
            return Long.valueOf(str);
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy