美文网首页
计算指定日期往前往后的日期

计算指定日期往前往后的日期

作者: 念念不忘_2016 | 来源:发表于2018-09-06 14:54 被阅读0次

在开发中经常会遇到,以指定的日期为基准,计算向后n天<n可以为正、负数,负数为向前移>。
  我使用Date类的基础上使用Calendar类,处理方法基本如下

/**
 * 获取指定日期往后一周的日期(几年几月几号)
 */
public static List<String> getdate7week(String strDate) {
    List< String > dates = new ArrayList<>();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
    try {
        Date date = df.parse(strDate);//取时间
        Calendar calendar  =   Calendar.getInstance();
        calendar.setTime(date); //需要将date数据转移到Calender对象中操作
        for (int i =0 ; i < 7 ; i++){
       calendar.add(calendar.DATE, 1);//把日期往后增加n天.正数往后推,负数往前移动
//        date=calendar.getTime();   //这个时间就是日期往后推一天的结果               
            SimpleDateFormat dateFm = new SimpleDateFormat("EEEE",Locale.getDefault());
            entity.setWeek(dateFm.format(date));//这里是生成周几
            dates.add(ConverToNormalString(calendar.getTime()));
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return dates;
}

这里是另外一个类

//把日期转为字符串
public static String ConverToNormalString(Date date)
{
    DateFormat df = new SimpleDateFormat( "yyyy-MM-dd" ,Locale.getDefault());

    return df.format(date);
}

相关文章

网友评论

      本文标题:计算指定日期往前往后的日期

      本文链接:https://www.haomeiwen.com/subject/sodxgftx.html