字符串不能被识别为有效的日期时间-来自网页

本文关键字:时间 网页 日期 不能 识别 有效 字符串 | 更新日期: 2023-09-27 17:50:36

尝试在。net网页中添加日期验证(使用c#)。比较开始日期和结束日期,确保结束日期>开始日期。

由于某些原因,我得到以下错误:

字符串未被识别为有效的日期时间。

现在我承认这是我第一次使用DateTime方法,所以我可能还没有完全理解它,但就我所知,我的代码应该是好的。

谁能告诉我我错过了什么?
String startD = Request["txtStartDate"]; //requesting string from textbox "txtStartDate"
String endD = Request["txtEndDate"];
DateTime start = DateTime.Parse(startD); //line that throws the error
DateTime end = DateTime.Parse(endD);

字符串不能被识别为有效的日期时间-来自网页

错误来了,因为你给的输入是在MM/dd/yyyy。.net可能认为该格式为dd/MM/yyy。所以如果你的输入是02/13/2015,它可能会失败,因为没有超过12的月份。所以试试ParseExact

尝试下面

String startD = Request["txtStartDate"]; 
String endD = Request["txtEndDate"];
DateTime start = DateTime.ParseExact(startD, "MM/dd/yyyy",
                  new CultureInfo("en-US"),DateTimeStyles.None);
DateTime end = DateTime.ParseExact(endD, "MM/dd/yyyy",
                  new CultureInfo("en-US"),DateTimeStyles.None);

 String startD = Request["txtStartDate"]; 
 String endD = Request["txtEndDate"];
 DateTime start = DateTime.ParseExact(startD,"MM/dd/yyyy",
                        System.Globalization.CultureInfo.InvariantCulture);
    DateTime end = DateTime.ParseExact(endD,"MM/dd/yyyy",
                        System.Globalization.CultureInfo.InvariantCulture);

更多信息Msdn Doc For ParseExact