我有一个文本框,如下所示,用于捕获日期:
<input name="datereceived" type="date" class="FormDateValues" id="datereceived" value="" runat="server" />
但是,当我尝试检索后面代码中的值时,我得到01/01/1900的值。
DateTime InvoiceDate = DateTime.Parse(datereceived.Value);
有人可以告诉我为什么这会是一个空白日期?
由于
答案 0 :(得分:0)
您的datereceived
变量是否有任何格式?如果是这样,你可以试试这个:
DateTime.ParseExact(datereceived.Value, "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
您可以通过MM/dd/yyyy
格式说明符指定日期的确切格式,同时尝试使用TryParseExact()
查看其他可能的解析技术以避免异常。
答案 1 :(得分:0)
由于以下原因,字符串未被识别为有效的DateTime错误:
<强> 1。如果输入文本/值为空: 如果输入字段中的值为空,那么从null到date的转换将导致此。
2.如果输入文字/值的格式与您想要转换的格式不同。 假设您的输入字段位于“dd-MM-yyyy”并且您将其解析为“dd / MM / yyyy”,那么它将通过错误。
因此,请检查您的格式并以其他方式进行转换。
这可以帮助您找出错误。