2014-06-25 15 views
-1

比較這是我如何把日期變量的DateTimePicker和字符串

dateTimePicker8.Value = Convert.ToDateTime(Form1.DBList[temp].Data); //DBList contains <Media> // Media is a class 

List<Media> temp123 = new List<Media>(); //temp123 is just a temporary list 

這是我嘗試做日期的查詢,但它不工作

foreach (var item in DBList) 
{ 
    dateTimePicker3.Value = Convert.ToDateTime(item.Data); 

    if (dateTimePicker1.Value > dateTimePicker3.Value 
      && dateTimePicker3.Value < dateTimePicker2.Value) 
     temp123.Add(item); 
} 

我得到這個錯誤:

System.FormatException' in mscorlib.dll

+1

您是否認爲要在哪一行發佈該異常以及當時的變量內容? –

+0

錯誤發生在 dateTimePicker3.Value = Convert.ToDateTime(item.Data); //item.data包含12 Giu 2014 – user3547175

+0

您是否使用'DateTimePicker'控件而不是'DateTime'變量來存儲和比較日期? –

回答

0

你必須告訴它如何解析日期背出該字符串的:

DateTime parsedDate = DateTime.ParseExact("12 Giu 2014", "dd MMM yyyy", 
              CultureInfo.GetCultureInfo("it-CH")); 

我指定了意大利文化,因爲「Giu」是意大利文。假設您目前的文化已經是意大利文,您可以用CultureInfo.CurrentCulture替換最後一個參數。


此外,沒有必要創建DateTimePicker控件只是爲了存儲和操作日期。如果您不打算將這些選取器顯示給用戶,則只需使用DateTime變量。

+0

這是我編輯的代碼,但如果條件無法正常工作,temps123包含錯誤的時間間隔,條件錯了嗎?我只想添加日期> datetimepicker1和 dateTimePicker2.Value)) temp123.Add(item); } – user3547175

+0

對不起編輯,但它說我沒有足夠的編輯答案的聲譽 – user3547175

+0

2個時間選項顯示給用戶,因爲他必須設置間隔 – user3547175

相關問題