JAVA日期格式化工具【L】

来源:互联网 发布:红色报刊档案数据库 编辑:程序博客网 时间:2024/05/19 19:39

 <dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>

代码如下:

import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import javax.xml.datatype.DatatypeConfigurationException;import javax.xml.datatype.DatatypeFactory;import javax.xml.datatype.XMLGregorianCalendar;import java.util.TimeZone;import org.apache.commons.lang.time.DateFormatUtils;import org.apache.commons.lang.time.DateUtils;/** *  *  * @author xiaoxiang * @version $Id: DateUtil.java, v 0.1 2016年9月7日 上午9:44:41 Administrator Exp $ */public class DateUtil {    public static final String PATTERN_STANDARD  = "yyyy-MM-dd HH:mm:ss";    public static final String PATTERN_DATE      = "yyyy-MM-dd";    public static final String PATTERN_DATE_8    = "yyyyMMdd";    public static final String PATTERN_TIME      = "HHmmss";    public static final String PATTERN_DATE_TIME = "yyyyMMddHHmmss";    public static String timestamp2String(Timestamp timestamp, String pattern) {        if (timestamp == null) {            throw new java.lang.IllegalArgumentException("timestamp null illegal");        }        if (pattern == null || pattern.equals("")) {            pattern = PATTERN_STANDARD;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(new Date(timestamp.getTime()));    }    public static String date2String(java.util.Date date, String pattern) {        if (date == null) {            throw new java.lang.IllegalArgumentException("timestamp null illegal");        }        if (pattern == null || pattern.equals("")) {            pattern = PATTERN_STANDARD;            ;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        return sdf.format(date);    }    public static Timestamp currentTimestamp() {        return new Timestamp(new Date().getTime());    }    public static String currentTimestamp2String(String pattern) {        return timestamp2String(currentTimestamp(), pattern);    }    public static Timestamp string2Timestamp(String strDateTime, String pattern) {        if (strDateTime == null || strDateTime.equals("")) {            throw new java.lang.IllegalArgumentException("Date Time Null Illegal");        }        if (pattern == null || pattern.equals("")) {            pattern = PATTERN_STANDARD;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        Date date = null;        try {            date = sdf.parse(strDateTime);        } catch (ParseException e) {            throw new RuntimeException(e);        }        return new Timestamp(date.getTime());    }    public static Date string2Date(String strDate, String pattern) {        if (strDate == null || strDate.equals("")) {            throw new RuntimeException("str date null");        }        if (pattern == null || pattern.equals("")) {            pattern = DateUtil.PATTERN_DATE;        }        SimpleDateFormat sdf = new SimpleDateFormat(pattern);        Date date = null;        try {            date = sdf.parse(strDate);        } catch (ParseException e) {            throw new RuntimeException(e);        }        return date;    }    public static String stringToYear(String strDest) {        if (strDest == null || strDest.equals("")) {            throw new java.lang.IllegalArgumentException("str dest null");        }        Date date = string2Date(strDest, DateUtil.PATTERN_DATE);        Calendar c = Calendar.getInstance();        c.setTime(date);        return String.valueOf(c.get(Calendar.YEAR));    }    public static String stringToMonth(String strDest) {        if (strDest == null || strDest.equals("")) {            throw new java.lang.IllegalArgumentException("str dest null");        }        Date date = string2Date(strDest, DateUtil.PATTERN_DATE);        Calendar c = Calendar.getInstance();        c.setTime(date);        // return String.valueOf(c.get(Calendar.MONTH));        int month = c.get(Calendar.MONTH);        month = month + 1;        if (month < 10) {            return "0" + month;        }        return String.valueOf(month);    }    public static String stringToDay(String strDest) {        if (strDest == null || strDest.equals("")) {            throw new java.lang.IllegalArgumentException("str dest null");        }        Date date = string2Date(strDest, DateUtil.PATTERN_DATE);        Calendar c = Calendar.getInstance();        c.setTime(date);        // return String.valueOf(c.get(Calendar.DAY_OF_MONTH));        int day = c.get(Calendar.DAY_OF_MONTH);        if (day < 10) {            return "0" + day;        }        return "" + day;    }    public static Date getFirstDayOfMonth(Calendar c) {        int year = c.get(Calendar.YEAR);        int month = c.get(Calendar.MONTH);        int day = 1;        c.set(year, month, day, 0, 0, 0);        return c.getTime();    }    public static Date getLastDayOfMonth(Calendar c) {        int year = c.get(Calendar.YEAR);        int month = c.get(Calendar.MONTH) + 1;        int day = 1;        if (month > 11) {            month = 0;            year = year + 1;        }        c.set(year, month, day - 1, 0, 0, 0);        return c.getTime();    }    public static String date2GregorianCalendarString(Date date) {        if (date == null) {            throw new java.lang.IllegalArgumentException("Date is null");        }        long tmp = date.getTime();        GregorianCalendar ca = new GregorianCalendar();        ca.setTimeInMillis(tmp);        try {            XMLGregorianCalendar t_XMLGregorianCalendar = DatatypeFactory.newInstance()                .newXMLGregorianCalendar(ca);            return t_XMLGregorianCalendar.normalize().toString();        } catch (DatatypeConfigurationException e) {            // TODO Auto-generated catch block            e.printStackTrace();            throw new java.lang.IllegalArgumentException("Date is null");        }    }    public static boolean compareDate(Date firstDate, Date secondDate) {        if (firstDate == null || secondDate == null) {            throw new java.lang.RuntimeException();        }        String strFirstDate = date2String(firstDate, PATTERN_DATE);        String strSecondDate = date2String(secondDate, PATTERN_DATE);        if (strFirstDate.equals(strSecondDate)) {            return true;        }        return false;    }    public static Date getStartTimeOfDate(Date currentDate) {        if(null == currentDate) return null;        String strDateTime = date2String(currentDate, PATTERN_DATE) + " 00:00:00";        return string2Date(strDateTime, PATTERN_STANDARD);    }    public static Date getEndTimeOfDate(Date currentDate) {    if(null == currentDate) return null;        String strDateTime = date2String(currentDate, PATTERN_DATE) + " 59:59:59";        return string2Date(strDateTime, PATTERN_STANDARD);    }    public static String stringTostring(String date, String sourceP, String derP) {        return DateUtil.date2String(DateUtil.string2Date(date, sourceP), derP);    }    public static String string10Tostring8(String date) {        return DateUtil.stringTostring(date, DateUtil.PATTERN_DATE, DateUtil.PATTERN_DATE_8);    }    public static String getCurrentYesterDay() {        Calendar date = Calendar.getInstance();        TimeZone timezone = TimeZone.getTimeZone("Asia/Shanghai");        date.setTimeZone(timezone);        Date addDays = DateUtils.addDays(date.getTime(), -1);        return DateFormatUtils.format(addDays, PATTERN_DATE_8);    }    public static String getCurrentDate() {        Calendar date = Calendar.getInstance();        TimeZone timezone = TimeZone.getTimeZone("Asia/Shanghai");        date.setTimeZone(timezone);        return DateFormatUtils.format(date, PATTERN_DATE_8);    }    public static String getCurrentTime() {        Calendar date = Calendar.getInstance();        TimeZone timezone = TimeZone.getTimeZone("Asia/Shanghai");        date.setTimeZone(timezone);        return DateFormatUtils.format(date, PATTERN_TIME);    }    public static String getCurrentDateTime() {        Calendar date = Calendar.getInstance();        TimeZone timezone = TimeZone.getTimeZone("Asia/Shanghai");        date.setTimeZone(timezone);        return DateFormatUtils.format(date, PATTERN_DATE_TIME);    }    public static void main(String[] args) {String date8 = DateUtil.date2String(new Date(), DateUtil.PATTERN_DATE_8);System.out.println(date8);}}