为了账号安全,请及时绑定邮箱和手机立即绑定

关于cal.get(Calendar.MONTH)在两种datePicker和dialog上面显示的差一个月的问题

老师在前面DatePicker上面说,cal.get(Calendar.MONTH)因为按0-11排,所以获取的月份实际应该加一,但是在dialog中传递月份参数,又是cal.get(Calendar.MONTH),这次没有加一,但是show出来的对象获取的仍然是正确的,这到底是为什么呢?为什么这两次一个加一,一个没有加一,获取到的都是正确的当前月份?

正在回答

3 回答

同问,感觉楼上回答的不在点上。。

0 回复 有任何疑惑可以回复我~
#1

qq_乱_1

懂了,,,
2016-04-16 回复 有任何疑惑可以回复我~

因为DatePicker的init函数中第二个参数月份是从0开始计算的

下面是Android SDK文档中DatePicker的init函数:

public void init (int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

Parameters

year:The initial year.    

monthOfYear:The initial month starting from zero.    

dayOfMonth:The initial day of the month.    

onDateChangedListener:How user is notified date is changed by user, can be null.    


dialog中传递月份参数时是onDateSet函数,那个月份参数也是从0开始计算的,所以不用加一

public abstract void onDateSet (DatePicker view, int year, int monthOfYear, int dayOfMonth)

Parameters

view:The view associated with this listener.    

year:The year that was set.    

monthOfYear:The month that was set (0-11) for compatibility with Calendar.    

dayOfMonth:The day of the month that was set.    


获取的月份都是从0开始计算的,当需要显示在屏幕上的时候就加一

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111172    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程

关于cal.get(Calendar.MONTH)在两种datePicker和dialog上面显示的差一个月的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信