java 取当前时间的上周-周三到这周的周四的日期

如果当前日期是周五的话,取上周三到这周四,如果当前日期是周三,那么就取上周三到这周三的数据,

是不知道怎么拿到变量是礼拜几么?如果可以就很简单啦

得到,当前日期,加判断,然后修改当前日期到上周三,不知道怎么改的话,数几天减一下就OK了

得到,当前日期,加判断,然后修改当前日期到上周三,不知道怎么改的话,数几天减一下就OK了

输出:
2015-11-12
2015-11-11
2015-11-10
2015-11-09
2015-11-08
2015-11-07
2015-11-06

 package com.company;



import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 *
 *
 * @version 2015.11.13
 * @author prd.
 */
public class Main {



    public static void main(String[] args) {
        for (int i = 0; i < 7; i++) {
            Calendar ca = roll(Calendar.DAY_OF_MONTH,(i+1)); //对时间进行操作
            System.out.println(formatDate(ca.getTime()));//格式化并显示时间。ca.getTime()是获取一个Date.
        }
    }

    /**
     * 格式化时间并输出.
     *
     *
     * @param date 时间
     */
    private static String formatDate(Date date){
       SimpleDateFormat dateFormat =  new SimpleDateFormat("yyyy-MM-dd");
        return dateFormat.format(date);
    }


    /**
     * 对时间进行加减操作
     *
     * @param field 需要更新的字段
     * @param value 更新成多少值.
     * @return
     */
    private static Calendar roll(int field,int value){
        Calendar ca = Calendar.getInstance(); //获取当前日期
        ca.set(field,ca.get(Calendar.DAY_OF_MONTH)-value);//在当前日期基础上进行减操作.
        return ca;
    }

}

你查查和星期或年月日有关的正则表达式

我做过统计上周日到本周日的数据统计,可以用Calendar 来做,注意周日可能会跳到周一的问题。