求助 从2013年3月4号到2013年7月15号 每个星期一和星期五 是几号 ??这个东西该用到calendar里面的什么方法 可以代码说明更好 

解决方案 »

  1.   

    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;public class Test {    public static void main(final String[] args) throws Exception {
            final Calendar calendar = Calendar.getInstance();
            final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
            final Date start = format.parse("2013-03-04 00:00:00");
            final Date end = format.parse("2013-07-15 00:00:00");        Date time = start;
            calendar.setTime(time);
            while (time.before(end)) {
                final int day = calendar.get(Calendar.DAY_OF_WEEK);
                if (day == 2 || day == 6) {
                    System.out.println(calendar.getTime());
                }
                calendar.add(Calendar.DAY_OF_MONTH, 1);
                time = calendar.getTime();
            }
        }}
      

  2.   

    对于楼上的,那个出来的是国外历,星期天是第一天,星期六是最后一天.如果用中国人的日历形式就是星期一是第一天,星期六是最后一天,而且必须使格里高利日历的本地化...
     Calendar calendar= Calendar.getInstance(Locale.CHINA);
      

  3.   

    1、思路:通过开始日期加1进行循环,日期为本周第2天(周一)、第6天(周五)则输出。
    2、注意当前默认使用的是中国本地时间,可对时间的本地化做一些优化处理。
    3、下面是代码,有注释,请参考。package com.zl.csdn;import java.util.Calendar;
    import java.util.GregorianCalendar;public class DayPrint { /**
     * @param args
     */
    public void printDayMon(Calendar begin,Calendar end) {
    if(begin.compareTo(end) > 0 ) 
    System.out.println("The begin date must be less then end date!");
    else {
    while(begin.compareTo(end) <= 0) { 
    if(begin.get(Calendar.DAY_OF_WEEK) == 2 )  //如果当前日期是本周的第二天,级周一则输出
    System.out.println(begin.get(Calendar.YEAR)  + "年" + (begin.get(Calendar.MONTH) + 1) + "月" + begin.get(Calendar.DAY_OF_MONTH) + "日");
    begin.add(Calendar.DAY_OF_MONTH,1); //开始日期天数加1
    }
    }
    }

    public void printDayFri(Calendar begin,Calendar end) {
    if(begin.compareTo(end) > 0 ) 
    System.out.println("The begin date must be less then end date!");
    else {
    while(begin.compareTo(end) <= 0) {
    if(begin.get(Calendar.DAY_OF_WEEK) == 6 ) 
    System.out.println(begin.get(Calendar.YEAR)  + "年" + (begin.get(Calendar.MONTH) + 1) + "月" + begin.get(Calendar.DAY_OF_MONTH) + "日");
    begin.add(Calendar.DAY_OF_MONTH,1);
    }
    }

    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    DayPrint test = new DayPrint();

    //打印输出2013-3-4~2013-7-15日每一个周一对应的日期
    Calendar beginMon = new GregorianCalendar(2013,2,4); //注意构造函数中的month字段0表示1月
    Calendar endMon = new GregorianCalendar(2013,6,15);
    System.out.println("-------------------The Day that is Monday------------");
    test.printDayMon(beginMon,endMon);
    System.out.println("-----------------------------------------------------");
    System.out.println();

    //打印输出2013-3-4~2013-7-15日每一个周五对应的日期
    Calendar beginFri = new GregorianCalendar(2013,2,4); 
    Calendar endFri = new GregorianCalendar(2013,6,15);
    System.out.println("-------------------The Day that is Friday------------");
    test.printDayFri(beginFri,endFri);
    System.out.println("-----------------------------------------------------");

    }}
      

  4.   

    查API调用方法。。
    建议楼主还是自己多多练习