A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨兴庭 于 2013-7-16 17:46 编辑
  1. String []weeks={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  2. int index=c.get(Calendar.MONTH);
  3. int index1=c.get(Calendar.DAY_OF_WEEK);
  4. sop(mons[index]);
  5. sop(weeks[index1]);
  6. sop(c.get(Calendar.YEAR)+"年"+c.get(Calendar.MONTH)+"月"+c.get(Calendar.DATE)+"日");
复制代码

为啥要在String[]weeks前面加一个空格?在一个为啥最后一行输出是六月?现在是七月,O(∩_∩)O谢谢!

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

5 个回复

倒序浏览
第一个问题:查看API可以指定,默认的表示是星期的第一天和第一个星期中的最小一天用从 1 到 7表示,所以角标为0的是没有对应星期几的。第二个问题,java虚拟机中是用0-11表示1-12月的。

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
weeks前面加不加空格都没关系,编译都可以通过,加空格好看点。月份是从0-11计算的。

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

回复 使用道具 举报
在编写日历这种类型中,正常的月份1-12月,要注意编写的时候要+1。因为在Java中1月就是0.依此类推。
回复 使用道具 举报
  1. public static void main(String[] args) {

  2.                 Calendar c = Calendar.getInstance();               
  3.                 printClendar(c);

  4.         }
  5.         public static void printClendar(Calendar c)
  6.         {
  7.                 //查表法
  8.                 String[] mons = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
  9.                
  10. //                String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  11.                 String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  12.                 int index = c.get(Calendar.MONTH);
  13.                 int indexx = c.get(Calendar.DAY_OF_WEEK);//比如今天是周二  那么实际indexx=3
  14.                
  15.                 System.out.println(c.get(Calendar.YEAR)+"年");

  16.                 System.out.println(mons[index]);
  17.                 System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");
  18.                 System.out.println(weeks[indexx]);
  19.         }
复制代码
接着我们来分析下:

我觉得要留意这么一点就可以了~你要知道~java是谁出的~丫的是老美那一群人!!唉~是我们中国就好了~哈哈!!!所以在时间上,尤其是日期上··你要跟上他们~那就是··你周一··他们周日··你周二··他们周一··也就是说~你的时间是要倒退一天的!!理解了这一点~你就很好理解

你可以看我的代码~就算不在前面加空格也是可以的~不过“周日”是摆在了第一位
这样就可以了:int indexx = c.get(Calendar.DAY_OF_WEEK)-1;  减一就可以了!

你试试~还有啥细节不太懂的可以问问~

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
白_蓝(八公) 发表于 2013-7-16 14:38
接着我们来分析下:

我觉得要留意这么一点就可以了~你要知道~java是谁出的~丫的是老美那一群人!!唉~是我 ...

好的,O(∩_∩)O谢谢,加油!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马