簡體   English   中英

使用C#不將字符串識別為有效的DateTime

[英]String was not recognized as a valid DateTime using C#

我正在比較2個日期字段,看看第一個日期字段是否小於第二個字段,但我收到此錯誤“字符串未被識別為有效的日期時間”,並且它在此行失敗

DateTime Field2 = DateTime.Parse(gr.Cells[10].Text);

這就是我的表格中這個日期字段的樣子:2012-11-08

DateTime Field1 = DateTime.Parse(gr.Cells[3].Text);
DateTime Field2 = DateTime.Parse(gr.Cells[10].Text);
DateTime strDate = System.DateTime.Now;
if (Field2 == null && Field1 < strDate)

使用ParseExact並指定格式“yyyy-MM-dd”或“yyyy-dd-MM”

使用DateTime.ParseExact

var res = 
    DateTime.ParseExact("2012-11-08", "yyyy-MM-dd", 
        CultureInfo.InvariantCulture);

根據DateTime.Parse上MSDN條目

使用當前線程文化隱式提供的當前DateTimeFormatInfo對象中的格式信息來解析字符串s。

您最有可能收到錯誤,因為您當前的線程文化的日期格式與您提供的字符串的日期格式大不相同。

您可以做的是指定您將用於日期的格式:

 DateTime.ParseExact(gr.Cells[10].Text, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);

暫無
暫無

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

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