Java Day Add addDay(java.util.Date dt, long day)

Here you can find the source of addDay(java.util.Date dt, long day)

Description

add date

License

Open Source License

Parameter

Parameter Description
dt a parameter
day a parameter

Return

add date

Declaration

public static String addDay(java.util.Date dt, long day) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.text.SimpleDateFormat;

import java.util.TimeZone;
import java.util.Calendar;

public class Main {
    private final static int MILLIS_PER_HOUR = 3600000;

    public static String addDay(String dt, long day) {
        if (dt == null) {
            throw new IllegalArgumentException("dt can not be null");
        }/*from   ww  w  .j av a2s.  c o  m*/

        int len = dt.length();
        if (!(len == 8 || len == 14)) {
            throw new IllegalArgumentException("dt length must be 8 or 14 (yyyyMMdd or yyyyMMddHHmmss)");
        }

        if (len == 8) {
            dt += "090000";
        }

        return addDay(getDate(dt), day);
    }

    /**
     * add date
     * @param dt
     * @param day
     * @return add date
     */
    public static String addDay(java.util.Date dt, long day) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
        sdf.setTimeZone(getTimeZone());

        return sdf.format(addDate(dt, day));
    }

    /**
    * yyyyMMddHHmmss --> java.util.Date
    * @param String dt
    * @return java.util.Date
    */
    private static java.util.Date getDate(String dt) {
        Calendar cal = Calendar.getInstance();
        cal.set(Integer.valueOf(dt.substring(0, 4)).intValue(), Integer.valueOf(dt.substring(4, 6)).intValue() - 1,
                Integer.valueOf(dt.substring(6, 8)).intValue(), Integer.valueOf(dt.substring(8, 10)).intValue(),
                Integer.valueOf(dt.substring(10, 12)).intValue(), Integer.valueOf(dt.substring(12, 14)).intValue());

        return cal.getTime();
    }

    /**
    * get default SimpleTimeZone (System Properties)
    * @return SimpleTimeZone
    */
    public static TimeZone getTimeZone() {
        return TimeZone.getDefault();
    }

    public static java.util.Date addDate(String dt, long day) {
        if (dt == null) {
            throw new IllegalArgumentException("dt can not be null");
        }

        int len = dt.length();
        if (!(len == 8 || len == 14)) {
            throw new IllegalArgumentException("dt length must be 8 or 14 (yyyyMMdd or yyyyMMddHHmmss)");
        }

        if (len == 8) {
            dt += "090000";
        }

        return addDate(getDate(dt), day);
    }

    public static java.util.Date addDate(java.util.Date dt, long day) {
        return new java.util.Date(dt.getTime() + (MILLIS_PER_HOUR * 24L * day));
    }
}

Related

  1. addDay(Date date, String pattern, int num)
  2. addDay(Date oriDate, int amount)
  3. addDay(int days)
  4. addDay(int k)
  5. addDay(java.util.Date date)
  6. addDay(String currentdate, int add_day)
  7. addDay(String d)
  8. addDay(String data)
  9. addDay(String datetime, int day)