2011-02-10 41 views
0

我有在將0添加到c#中缺少的日期?

dd/mm/yyyy 

現在我想比較,爲另一個字符串,並檢查它們是否相等格式的值的字符串,其他字符串可以有

dd/mm/yyyy 

或者有時當一天是1和9之間:

d/mm/yyyy 
有時當月份是1和9之間:

dd/m/yyyy 

所以有一些情況下字符串不相等,但實際日期是。 首先,我只看到,在某些情況下,當這一天是1-9之間不以零所以我也開始:

createdDate = dateField.value.ToString().Substring(0, 10); 
createdDate = createdDate.Trim(); 
if (createdDate.Length == 9) 
    createdDate = "0" + createdDate; 

但後來我發現它可以爲一個月相同的,所以有必須是更好的方法來檢查這個?

回答

7

爲什麼不只是解析兩個格式字符串「dd/MM/yyyy」和格式字符串「d/M/yyyy」並且比較返回的DateTime值?畢竟,代表的日期是重要的部分,而不是字符串表示,據推測。

+0

公頃,太簡單了......你先回答,謝謝,謝謝其他人對你的評論! – Nick 2011-02-11 06:40:49

1

您應該使用DateTime.Parse將兩個值轉換爲日期,然後比較日期。

DateTime.Parse("01/01/2001") == DateTime.Parse("1/1/2001") 
0

當它是字符串,表示日期,爲什麼你不試圖解析它們到一個日期,並比較你變成的日期實例?

您只需確保在解析時使用正確的模式。

檢查出DateTime.TryParse方法。

0

我會解析這兩個日期到DateTime s然後比較它們,這樣你就不必擔心比較中的不同格式。

0

首先,將字符串解析爲類型DateTimeDateTime.ParseExact)的值,然後使用標準相等比較器(==)比較日期。