当前位置:编程学习 > C#/ASP.NET >>

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

有三个下拉框,分别是绑定年,月,日三个数据,我现在想在程序部分判断出正确的日期,
比如输入的是1990年2月31日,然后后台程序会记录 1990年3月3日 ,这样子。 --------------------编程问答--------------------
引用 楼主 agayboy 的回复:
有三个下拉框,分别是绑定年,月,日三个数据,我现在想在程序部分判断出正确的日期,
比如输入的是1990年2月31日,然后后台程序会记录 1990年3月3日 ,这样子。


做个月 ,日的联动 --------------------编程问答-------------------- 先用DateTime.DaysInMonth得到2月份有几天,根据输入的日子是否大于这个天数,去AddDays --------------------编程问答-------------------- 实在无力吐槽这种设计了,有种坐马桶上吃东西的感觉。 --------------------编程问答-------------------- 这种日期选择太失败,这种日期根本就不应该提交 --------------------编程问答-------------------- 根据月份动态加载天数 --------------------编程问答-------------------- 设计思路问题。

就像你要生孩子一样,出生之前你发现问题你不处理,等你孩子都生出来了,你再去医院治病,已经晚了。

--------------------编程问答--------------------
引用 6 楼 Imaor 的回复:
设计思路问题。

就像你要生孩子一样,出生之前你发现问题你不处理,等你孩子都生出来了,你再去医院治病,已经晚了。


受教了 --------------------编程问答-------------------- 用日历控件阿,如果要用下拉框,那得月日的联动。
 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;
         }
     } --------------------编程问答-------------------- 直接不能提交日期就完了,为何要改掉 --------------------编程问答-------------------- 楼主是对时间进行控制,怕输入不正确的日期了,现成的控件有,输入还是麻烦 --------------------编程问答-------------------- 有现成的日历控件,没必要再去做这种不合理的,而且如果要判断再一开始的联动事件中就应该判断好了的,根据年份和月份的变动动态生成日的下拉框内容。 --------------------编程问答-------------------- 用正则 
另外 这种设计 真是 让人无语
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,