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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

                Scanner sc=new Scanner(System.in);
                System.out.println("录入日期字符串,格式(2015-10-20)");
                String date=sc.nextLine();
                Calendar cal=Calendar.getInstance();
                cal.setTime(new SimpleDateFormat("yyyy-MM-dd").parse(date));
                System.out.println(cal.YEAR);;
                System.out.println(cal.get(Calendar.YEAR));

当我输入一个日期之后,刚开始没在意用get方法,为什么一定要用get,不用get我的输出结果就是1  用了get就是我输入的日期年份

6 个回复

倒序浏览
求解答。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
回复 使用道具 举报
public final static int YEAR = 1;
底层是把各段数据存入数组 Field[1]就代表所存年份,不信你把System.out.println(cal.get(Calendar.YEAR));改成
System.out.println(cal.get(1));试试,一样会打印输入的年份
回复 使用道具 举报
不懂、、
回复 使用道具 举报
用get方法获取的年份是你设置的年份,而Cal.YEAR调用的是系统底层给的数据
回复 使用道具 举报
还没搞明白呢
回复 使用道具 举报
不调用get方法,打印出的是字段里的常量值

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马