Rai*_*oug 0 c# datetime android visual-studio
我在c#中有DateTime的奇怪行为.
我想在1月份初始化一个日期选择器.所以我开了一个新约会:
DateTime MyDate = new DateTime(2017, 0, 15);
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个例外:
System.ArgumentOutOfRangeException:Year,Month和Day参数描述不可表示的DateTime.
如果我使用(2017, 1, 15)它有效但时间对话框,初始化为:
DatePickerDialog dialog = new DatePickerDialog(
Activity,
this,
MyDate.Year,
MyDate.Month,
MyDate.Day);
Run Code Online (Sandbox Code Playgroud)
去二月.
好吧,我试图"欺骗"并做了:
DateTime MyDate = new DateTime(2017, 1, 15);
DateTime = DateTime.AddMonths(-1);
Run Code Online (Sandbox Code Playgroud)
没有错误,但日期选择器在二月份.
拥有1月的唯一方法是:
DateTime MyDate = new DateTime(2017, 12, 15);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
DateTime.Month 是一个介于1到12之间的值,这与大多数人认为的月份"数字"是一致的.
根据android文档,DatePickerDialog您调用的构造函数接受从零开始的月份.它接受0-11范围内的值,因此您需要从中减去一个DateTime.Month.
DatePickerDialog dialog = new DatePickerDialog(Activity,
this, MyDate.Year, MyDate.Month - 1, MyDate.Day);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |