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

在开发中经常会遇到,以指定的日期为基准,计算向后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);
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容