输入年月日,如何得出正确日期

agayboy 2013-11-11 10:45:30
有三个下拉框,分别是绑定年,月,日三个数据,我现在想在程序部分判断出正确的日期,
比如输入的是1990年2月31日,然后后台程序会记录 1990年3月3日 ,这样子。
...全文
321 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小黑_ 2013-11-13
  • 打赏
  • 举报
回复
用正则 另外 这种设计 真是 让人无语
dota_sky_god 2013-11-13
  • 打赏
  • 举报
回复
有现成的日历控件,没必要再去做这种不合理的,而且如果要判断再一开始的联动事件中就应该判断好了的,根据年份和月份的变动动态生成日的下拉框内容。
wind_cloud2011 2013-11-11
  • 打赏
  • 举报
回复
楼主是对时间进行控制,怕输入不正确的日期了,现成的控件有,输入还是麻烦
junlinfushi 2013-11-11
  • 打赏
  • 举报
回复
直接不能提交日期就完了,为何要改掉
wind_cloud2011 2013-11-11
  • 打赏
  • 举报
回复
用日历控件阿,如果要用下拉框,那得月日的联动。 private void date_month_SelectedIndexChanged(object sender, EventArgs e) { date_day.Items.Clear(); switch (date_month.SelectedItem.ToString()) { case "1": case "3": case "5": case "7": case "8": case "10": case "12": for (int i = 1; i <= 31; i++) { date_day.Items.Add(Convert.ToString(i)); } break; case "4": case "6": case "9": case "11": for (int i = 1; i <= 30; i++) { date_day.Items.Add(Convert.ToString(i)); } break; case "2": if ((Convert.ToInt32(date_year.SelectedValue) % 4 == 0) || (Convert.ToInt32(date_year.SelectedValue) % 100 == 0)) { for (int i = 1; i <= 29; i++) { date_day.Items.Add(Convert.ToString(i)); }; } else { for (int i = 1; i <= 28; i++) { date_day.Items.Add(Convert.ToString(i)); }; } break; } }
agayboy 2013-11-11
  • 打赏
  • 举报
回复
引用 6 楼 Imaor 的回复:
设计思路问题。 就像你要生孩子一样,出生之前你发现问题你不处理,等你孩子都生出来了,你再去医院治病,已经晚了。
受教了
IEEE_China 2013-11-11
  • 打赏
  • 举报
回复
设计思路问题。 就像你要生孩子一样,出生之前你发现问题你不处理,等你孩子都生出来了,你再去医院治病,已经晚了。
lwwcomeon 2013-11-11
  • 打赏
  • 举报
回复
根据月份动态加载天数
  • 打赏
  • 举报
回复
这种日期选择太失败,这种日期根本就不应该提交
cheng2005 2013-11-11
  • 打赏
  • 举报
回复
实在无力吐槽这种设计了,有种坐马桶上吃东西的感觉。
bdmh 2013-11-11
  • 打赏
  • 举报
回复
先用DateTime.DaysInMonth得到2月份有几天,根据输入的日子是否大于这个天数,去AddDays
熙风 2013-11-11
  • 打赏
  • 举报
回复
引用 楼主 agayboy 的回复:
有三个下拉框,分别是绑定年,月,日三个数据,我现在想在程序部分判断出正确的日期, 比如输入的是1990年2月31日,然后后台程序会记录 1990年3月3日 ,这样子。
做个月 ,日的联动

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧