RT!

解决方案 »

  1.   

    import java.util.Calendar;
    import java.util.Date;public class Test {    public static void main(String[] args) {
            Calendar c = Calendar.getInstance();        // 默认时,每周第一天为星期日,需要更改一下
            c.setFirstDayOfWeek(Calendar.MONDAY);        Date current = c.getTime();        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
            Date first = c.getTime();        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
            Date last = c.getTime();        System.out.printf("当前日期:%tF%n", current);
            System.out.printf("本周第一天(周一):%tF%n", first);
            System.out.printf("本周最后一天(周日):%tF%n", last);
        }
    }输出结果:当前日期:2008-06-08
    本周第一天(周一):2008-06-02
    本周最后一天(周日):2008-06-08
      

  2.   

    楼主参考一下 以下写法:import java.util.Calendar;/**
     * 输出当月的月历
     * @author x
     *
     */
    public class PrintCalendar {
    public static void main(String[] args) {
    //获取当前时间
    Calendar c = Calendar.getInstance();
    //设置代表的日期为1号
    c.set(Calendar.DATE,1);
    //获得1号是星期几
    int start = c.get(Calendar.DAY_OF_WEEK);
    //获取当月最大的日期数
    int max = c.getActualMaximum(Calendar.DATE);
    //输出标题
    System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六  ");
    for(int i=0;i<start-1;i++)  {
    System.out.print("     ");
    }

    //输出该月中所有的日期
    for(int i=1;i<=max;i++) {
    //输出日期数字
    System.out.print(i+"     ");
    //输出分隔空格
    if(i < 10) {
    System.out.print(" ");
    }
    //判断是否换行
    if((start + i - 1) % 7 == 0) {
    System.out.println();
    }
    }
    //换行
    System.out.println();

    }
    }
      

  3.   

    改成Tab键,看起来更佳:
    public static void main(String[] args) {
            //获取当前时间
            Calendar c = Calendar.getInstance();
            //设置代表的日期为1号
            c.set(Calendar.DATE,1);
            //获得1号是星期几
            int start = c.get(Calendar.DAY_OF_WEEK);
            //获取当月最大的日期数
            int max = c.getActualMaximum(Calendar.DATE);
            //输出标题
            System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六  ");
            for(int i=0;i<start-1;i++)  {
                System.out.print("\t");
            }
            
            //输出该月中所有的日期
            for(int i=1;i<=max;i++) {
                //输出日期数字
                System.out.print(i);
                System.out.print("\t");
                //输出分隔空格
    //             if(i < 10) {
    //                 System.out.print("\t");
    //             }                
                //判断是否换行
                if((start + i - 1) % 7 == 0) {
                    System.out.println();
                }                
            }
            //换行
            System.out.println();
            
        }
      

  4.   

    问一下:这个%tF%n是什么意思?