2018-09-29-csharp-日期选择框年、月和日参数描述无法表示的DateTime

错误: ArgumentOutOfRangeException, 年、月和日参数描述无法表示的DateTime。 C#的项目,里面有个日期范围选择按钮,需求是只能选择年月,如下:

图

在控件属性中对其进行如下的设置
图

结果今天运行的,点击输入2月, 结果程序直接崩了
图

找了下原来是这个原因

假如当前日期为2012年03月30日。当输入2月的时候,虽然年月日的日没有显示,但是实际存在,但是2月份没有30号,所以会报错。把日期设置为每月的第一天问题就解决啦。

看了一下今天的日期是9月29,MMP,恍然大悟,这控件太不人性了。。。 这东西没有考虑到。


过程中还碰到一个坑,当选择的月份是 12月,要获得下个月的日期,如下图
图

使用AddMonth(1)没有问题。而使用new DateTime()的形式,就会因为 12+1=13,没有13月,所以就报错了。 他不会把13转成1,然后前面的年再加1(这头猪脑筋不会急转弯)。不过这样做也有好处吧,防止一些错误的值被设置吧。但这种地方报错着实不爽。

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值