黑马程序员技术交流社区

标题: 日历Calendar设置问题,求助!!! [打印本页]

作者: 陈培果    时间: 2014-5-10 19:48
标题: 日历Calendar设置问题,求助!!!
本帖最后由 陈培果 于 2014-5-10 21:55 编辑
  1. import java.util.*;

  2. /*
  3. Calendar 常见用法
  4. */
  5. class CalendarDemo2
  6. {
  7.         public static void main(String[] args)
  8.         {
  9.                 Calendar c= Calendar.getInstance();

  10.                 c.set(2012,11,1,1,1,1);//设置年月日
  11.                
  12.                 printCalendar(c);
  13.         }
  14.         public static void printCalendar(Calendar c)
  15.                 {
  16.                         String[] mons={"一月","二月","三月","四月",
  17.                                                 "五月","六月","七月","八月",
  18.                                                 "九月","十月","十一月","十二月"};
  19.                 int index=c.get(Calendar.MONTH);

  20.                 String[] week={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
  21.                 int index1=c.get(Calendar.DAY_OF_WEEK);

  22.                 sop(c.get(Calendar.YEAR)+"年");
  23.                 //sop((c.get(Calendar.MONTH)+1)+"月");
  24.                 sop(mons[index]);
  25.                 sop(c.get(Calendar.DAY_OF_MONTH)+"日");
  26.                 //sop("星期"+c.get(Calendar.DAY_OF_WEEK));
  27.                 sop(week[index1]);
  28.                 }
  29.         public static void sop(Object obj)
  30.         {
  31.                 System.out.println(obj);
  32.         }
  33. }
  34. /*
  35. c.set(2012,11,1);//设置年月日

  36. 为什么我写c.set(2012);  c.set(2012,11); c.set(2012,11,1,1);都编译失败
  37. 但是我写c.set(2012,11,1,1,1);c.set(2012,11,1,1,1);编译通过

  38. 请问c.set();里面都可以写多少个整形,为什么?
  39. 求大神解答.

  40. */
复制代码



作者: 轻语。    时间: 2014-5-10 21:04
Calendar中的set方法:

set(int field, int value);  给定的日历字段设置为给定值  (第一个参数是日历字段)
set(int year, int month, int date);  年月日
set(int year, int month, int date, int hourOfDay, int minute);   年月日时分
set(int year, int month, int date, int hourOfDay, int minute, int second);   年月日时分秒

除了第一个set接受的一个是日历字段,一个整形之外。其他三个分别可以传3、5、6个整形


你写c.set(2012);  c.set(2012,11); c.set(2012,11,1,1);都编译失败  木有配套的方法
你写c.set(2012,11,1,1,1);c.set(2012,11,1,1,1);编译通过    年月日时分,匹配到第三个。


作者: 陈培果    时间: 2014-5-10 21:55
伍叶竹 发表于 2014-5-10 21:04
Calendar中的set方法:

set(int field, int value);  给定的日历字段设置为给定值  (第一个参数是日历字 ...

哦,谢谢啊,原来是酱紫的,:P
作者: Kael    时间: 2014-5-10 22:10
当初我也遇到类似的问题,形参格式要对应上,在中文系统和英文系统还有所不同。
作者: 种一棵树    时间: 2014-5-10 22:40
固定格式吧




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