[置顶] Java根据当前日期获得这一周的日期


    /**
     * 根据日期获得所在周的日期 
     * @param mdate
     * @return
     */
    @SuppressWarnings("deprecation")
    public static List<Date> dateToWeek(Date mdate) {
        int b = mdate.getDay();
        Date fdate;
        List<Date> list = newArrayList<Date>();
        Long fTime = mdate.getTime() - b * 24*3600000;
        for(inta = 1; a <= 7; a++) {
            fdate = newDate();
            fdate.setTime(fTime + (a * 24*3600000)); //一周从周日开始算,则使用此方式
            //fdate.setTime(fTime + ((a-1) * 24*3600000)); //一周从周一开始算,则使用此方式
            list.add(a-1, fdate);
        }
        return list;
    }


    /**
     * 测试
     * @param args
     */
    public static void main(String[] args) {
        // 定义输出日期格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd EEE");
        Date currentDate = new Date();
        // 比如今天是2015-02-03
        List<Date> days = dateToWeek(currentDate);
        System.out.println("今天的日期: " + sdf.format(currentDate));
        for(Date date : days) {
            System.out.println(sdf.format(date));
        }
    }


//获取当前日期,前几天或者后几天的日期

public class Test {
 
   public static void main(String[] args) {
        
       java.util.Calendar rightNow = java.util.Calendar.getInstance();
       java.text.SimpleDateFormat sim = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       //得到当前时间,+3天
       rightNow.add(java.util.Calendar.DAY_OF_MONTH, 3);   
       //如果是后退几天,就写 -天数 例如:
       rightNow.add(java.util.Calendar.DAY_OF_MONTH, -3);
       //进行时间转换
       String date = sim.format(rightNow.getTime()); 
       System.out.println(date);
   }
}

你可能感兴趣的:(java获取一周日期,根据日期获取一周的日期)