想实现这样的需求以2012年12月18日为起点,取出以后三个月中 周一,周三,周五的日期,希望大家给点思路,以前未实现过类似需求

解决方案 »

  1.   

    看你用不用java自有的类库。
    如果不用的话,就得自己写日历
    周一周三周五都是有规律的,每个周都是一样。所以难点不在周几,而在日期。也就是说你要知道2012.12.18之后三个月的每天的日期和12.18是星期几就行了。个人见解,仅供参考。
      

  2.   

    参考 joda-time 的 DateTime类。
      

  3.   

    你想用类库的话可以查查java中有关Calendar的类库,比如java.util.GregorianCalendar
    最笨的方法就是遍历每天,得到每天是周几。
      

  4.   

    要java.util.Calendar就能搞定的吧!
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;/**
     * 以2012年12月18日为起点,
     * 取出以后三个月中 周一,周三,周五的日期,
     *
     */
    public class Test
    {
    public static void main(String[] args)
    {
    Calendar cal = Calendar.getInstance();

    cal.set(Calendar.YEAR, 2012);
    cal.set(Calendar.MONTH, Calendar.DECEMBER);
    cal.set(Calendar.DAY_OF_MONTH, 18);

    Calendar c = (Calendar) cal.clone();
    c.add(Calendar.MONTH, 3);

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");

    while(!c.before(cal))
    {
    int day = cal.get(Calendar.DAY_OF_WEEK) ;
    if(day == Calendar.MONDAY || day == Calendar.WEDNESDAY || day == Calendar.FRIDAY)
    System.out.println(df.format(cal.getTime()));
    cal.add(Calendar.DATE, 1);
    }
    }
    }
      

  5.   

    需要这个么?jdk的Calendar就解决的很好!