文本框日期值显示为1900年1月1日

本文关键字:1900年 1月 1日 显示 日期 文本 | 更新日期: 2023-09-27 18:06:06

我在下面有一个文本框,用来捕获日期:

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

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

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

谁能告诉我为什么返回一个空白日期?

谢谢

文本框日期值显示为1900年1月1日

您的datereceived变量有任何格式吗?如果是,你可以试试:

DateTime.ParseExact(datereceived.Value, "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);

您可以通过MM/dd/yyyy格式说明符指定日期的确切格式,同时,尝试使用TryParseExact()查看其他可能的解析技术以避免异常。

字符串未被识别为有效的日期时间错误将由于以下原因发生:

1。如果输入文本/值为空: 如果输入字段中的value为空,那么从null到日期时间的转换将导致此问题。

2。如果输入的文本/值是你想要转换的不同格式 假设您的输入字段是"dd-MM-yyyy",并且您将其解析为"dd/MM/yyyy",那么它将通过错误。

所以请检查你的格式并以其他方式转换。