黑马程序员技术交流社区

标题: 星期几怎么出错了 [打印本页]

作者: 杨庆雷    时间: 2014-4-17 21:44
标题: 星期几怎么出错了
本帖最后由 杨庆雷 于 2014-4-20 11:49 编辑
  1. public class DateDemo {

  2.         public static void main(String[] args) throws ParseException {
  3.                 // TODO Auto-generated method stub
  4.                
  5.                 getWeek();
  6.                
  7.                 //通过给定时间
  8.                 Calendar ca = Calendar.getInstance();
  9.                 ca.set(2014, 4, 17);
  10.                 getWeek2(ca);
  11.         }
  12.         
  13.         public static void getWeek(){
  14.                 String[] weeks = new String[]{"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  15.                 Calendar cl = Calendar.getInstance();
  16.                 int weekIndex = cl.get(Calendar.DAY_OF_WEEK);
  17.                 System.out.println(weeks[weekIndex]);
  18.         }
  19.         public static void getWeek2(Calendar ca){
  20.                 String[] weeks = new String[]{"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  21.                 int weekIndex = ca.get(Calendar.DAY_OF_WEEK);
  22.                 System.out.print(ca.get(Calendar.YEAR) + "年" +ca.get(Calendar.DAY_OF_MONTH)+"日        ");
  23.                 System.out.println(weeks[weekIndex]);
  24.         }

  25. }
复制代码


搜狗截图14年04月17日2143_1.png (8.53 KB, 下载次数: 29)

搜狗截图14年04月17日2143_1.png

作者: 月光海    时间: 2014-4-17 21:51
  1. ca.set(2014, 4, 17);
复制代码
很简单,这句设置了日期。设置的日期是2014年5月17号,月份从0开始
作者: 你为谁归来    时间: 2014-4-17 21:54
老外设计的东西比较怪,都是从0开始的,你只把日期的0空了,但是没有把月份的0算进去,在你传日期参数的时候没有减1,接收的方法里面也没有,也就是你的实际日期是5月17号。那不就是周六了吗!
作者: 松毛    时间: 2014-4-17 21:58
ca.set(2014, 4, 17);//Calendar中的月份是从0开始计算的,这里的4就相当于到了5月份了,你查查5月17日,应该是星期六吧。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2