簡體   English   中英

字符串為15/07/15時,字符串未被識別為有效的DateTime

[英]String was not recognized as a valid DateTime when string is 13/07/15

我有一個字符串date = 13/07/15這種格式,我想將其轉換為DateTime,但是出現以下錯誤

String was not recognized as a valid DateTime.

我該怎么做才能轉換為日期時間。 我已經試過了

DateTime dt = Convert.ToDateTime(date);

從來沒有注意到過不同的文化以不同的格式來編寫數據和時間嗎? 盡管您使用的格式在大多數西歐國家有效,但在美國卻是垃圾。

要解決此問題,您可以要求系統提供當前日期和時間格式:

var currentCulture = System.Globalization.CultureInfor.CurrentCulture
IFormatProvider dateTimeFormat = currentCulture.DateTimeFormat;
string dateTxt = @"13/7/2015";
System.DateTime myDate = System.DateTime.Parse(dateTxt, dateTimeFormat);

如果您的計算機具有正確的區域性,那應該可以解決問題。

如果您想了解很多文化,請不要要求當前的文化,而應使用System.Globalization.CultureInfo的構造函數之一

不明智,因為1/3/2015是3月1日還是1月3日?

這樣吧

DateTime date = DateTime.ParseExact(s, "dd/MM/yy", null);

來源: DateTime.ParseExact

您的代碼DateTime dt = Convert.ToDateTime(date); 是完美的。 在我看來,該錯誤出在您的數據庫中,因為如果得到整年,它將把它轉換為日期。 請在您的數據庫中檢查它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM