繁体   English   中英

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

[英]c# - Textbox date value shows as 01/01/1900

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

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

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

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

有人可以告诉我为什么返回空白日期吗?

谢谢

您的datereceived变量是否有任何格式? 如果是这样,您可以尝试以下操作:

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

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

由于以下原因,不会将字符串识别为有效的DateTime错误:

1.如果输入文本/值是空的:如果输入字段中的值是空的,则您从null到日期时间的转换将导致此情况。

2.如果输入的文本/值是您要转换的其他格式。 假设您的输入字段在“ dd-MM-yyyy”中,并且您将其解析为“ dd / MM / yyyy”,那么它将是错误的。

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

也许这可以帮助您找出错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM