欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

获取当前日期前(后)x天的日期Java代码,当前java,获得当前输入日期前(后)

来源: javaer 分享于  点击 43937 次 点评:23

获取当前日期前(后)x天的日期Java代码,当前java,获得当前输入日期前(后)


获得当前输入日期前(后)x天的日期,写了几种方法。```javaimport java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/ * @ClassName: BeforeOrAfterDate * @Description: 获得当前输入日期前(后)x天的日期 * @author PineTree * @date 2014年12月29日 下午3:52:46 * @version */public class BeforeOrAfterDate {

/** * * 查询当前日期前(后)x天的日期 * * @param date 当前日期 * @param day 天数(如果day数为负数,说明是此日期前的天数) * @return yyyy-MM-dd */public String beforNumDay(Date date, int day) {    Calendar c = Calendar.getInstance();    c.setTime(date);    c.add(Calendar.DAY_OF_YEAR, day);    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());}/** * * 查询当前日期前(后)x天的日期 * * @param date 当前日期 * @param day 天数(如果day数为负数,说明是此日期前的天数) * @return yyyyMMdd */public String beforNumberDay(Date date, int day) {    Calendar c = Calendar.getInstance();    c.setTime(date);    c.add(Calendar.DAY_OF_YEAR, day);    return new SimpleDateFormat("yyyyMMdd").format(c.getTime());}/** * 查询当前日期前(后)x天的日期 * * @param millis 当前日期毫秒数 * @param day 天数(如果day数为负数,说明是此日期前的天数) * @return long 毫秒数只显示到天,时间全为0 * @throws ParseException */public long beforDateNum(long millis, int day) throws ParseException {    Calendar c = Calendar.getInstance();    c.setTimeInMillis(millis);    c.add(Calendar.DAY_OF_YEAR, day);    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date date = new Date(c.getTimeInMillis());    Date newDate = sdf.parse(sdf.format(date));    return newDate.getTime();}/** *  查询当前日期前(后)x天的日期 * * @param millis 当前日期毫秒数 * @param day 天数(如果day数为负数,说明是此日期前的天数) * @return yyyy-MM-dd */public String beforLongDate(long millis, int day) {    Calendar c = Calendar.getInstance();    c.setTimeInMillis(millis);    c.add(Calendar.DAY_OF_YEAR, day);    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");    Date date = new Date(c.getTimeInMillis());    return sdf.format(date);}public static void main(String[] args) {    try{        BeforeOrAfterDate bd = new BeforeOrAfterDate();        long nowDate = System.currentTimeMillis();        System.out.println("nowDate = " + nowDate);        long beforDate = bd.beforDateNum(nowDate, 3);        System.out.println("beforDate = " + beforDate);        Date date = new Date(beforDate);        System.out.println("毫秒值结果日期 = " + date.toLocaleString());        System.out.println("yyyyMMdd结果日期  = " + bd.beforNumberDay(new Date(nowDate), 3));        System.out.println("yyyy-MM-dd结果日期  = " + bd.beforNumDay(new Date(nowDate), 3));        System.out.println("毫秒值获取日期结果 = " + bd.beforLongDate(nowDate, 3));    }catch(Exception e) {        e.printStackTrace();    }    }

}

```

相关栏目:

用户点评