c# - 文本框日期值显示为01/01/1900

时间:2015-08-04 00:54:00

标签: c# asp.net webforms

我有一个文本框,如下所示,用于捕获日期:

<input name="datereceived" type="date" class="FormDateValues" id="datereceived"  value="" runat="server" />

但是,当我尝试检索后面代码中的值时,我得到01/01/1900的值。

DateTime InvoiceDate = DateTime.Parse(datereceived.Value);

有人可以告诉我为什么这会是一个空白日期?

由于

2 个答案:

答案 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”,那么它将通过错误。

因此,请检查您的格式并以其他方式进行转换。

这可以帮助您找出错误。