簡體   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