1. 程式人生 > >常用時間轉換類

常用時間轉換類

public class TimeHelper {
    public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public static GregorianCalendar gc =new GregorianCalendar();

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(sdf.format(dateAddDay(new Date(),1)));
    }
    /**
     * 返回:以date為基本時間,延長dayNum個天
     */
    public static Date dateAddDay(Date date,int dayNum) {
        gc.setTime(date);
        gc.add((GregorianCalendar.DATE), dayNum);
        return gc.getTime();
    }
    /**
     * 返回:以date為基本時間,延長monthNum個月
     */
    public static Date dateAddmonth(Date date,int monthNum) {
        gc.setTime(date);
        gc.add(2,+monthNum);
        return gc.getTime();
    }

    /**
     * 返回:以date為基本時間,延長yearNum個年
     */
    public static Date dateAddyear(Date date,int yearNum) {
        gc.setTime(date);
        gc.add((GregorianCalendar.YEAR), yearNum);
        return gc.getTime();
    }
    /*
    * 返回:固定過期時間時間
    * */
    public static Date getDeadLine(){
        try {
            return sdf.parse("2116-12-31 00:00:00");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     * 獲取time2-time1的時間差,單位為分鐘
     * @param time1
     * @param time2
     */
    public static int getMinuteTime2SubtractTime1(Date time1, Date time2){
        long time2MS = time2.getTime();
        long time1MS = time1.getTime();
        return (int) ((time2MS-time1MS)/1000/60);
    }
    /**
     * 獲取time2-time1的時間差,單位為小時
     * @param time1
     * @param time2
     */
    public static int getHourTime2SubtractTime1(Date time1, Date time2){
        return (int) (getMinuteTime2SubtractTime1(time1,time2)/60);
    }
    /**
     * 獲取time2-time1的時間差,單位為日
     * @param time1
     * @param time2
     */
    public static int getDayTime2SubtractTime1(Date time1, Date time2){
        return (int) (getHourTime2SubtractTime1(time1,time2)/24);
    }
    /**
     * 獲取time2-time1的時間差,單位為月
     * @param time1
     * @param time2
     */
    public static int getMonthTime2SubtractTime1(Date time1, Date time2) {
        Calendar c1 = Calendar.getInstance();
        Calendar c2 = Calendar.getInstance();
        c1.setTime(time1);
        c2.setTime(time2);
        int result = 0;
        result = (c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR))*12 + c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH);
        return result;
    }
}