2015-02-06 85 views
0

我的應用程序檢查用戶選擇的組合框中的DateTime.Now。我的問題是,我試圖加入到檢查它是否是上午還是下午通過上午/下午時間沒有發生的動作

if (DateTime.Now.Hour == tbox1 && DateTime.Now.Minute == tbox2 && DateTime.Now.ToString("tt") == comboBox5.Text)

comboBox5只能AMPM),但是沒有發生。

這是所有在當地時間,使用戶更友好的用戶。

private void timer1_Tick(object sender, EventArgs e) 
{ 
    int tbox1 = int.Parse(comboBox1.Text); 
    int tbox2 = int.Parse(comboBox2.Text); 
    int tbox3 = int.Parse(comboBox3.Text); 
    int tbox4 = int.Parse(comboBox4.Text); 

    if (DateTime.Now.Hour == tbox1 
     && DateTime.Now.Minute == tbox2 
     && DateTime.Now.ToString("tt") == comboBox5.Text) 
    { 
     Form2 form2 = new Form2(textBox1.Text); 
     form2.Show(); 
     simpleSound.Play(); 
    }   

    if (DateTime.Now.Hour == tbox3 
     && DateTime.Now.Minute == tbox4 
     && DateTime.Now.ToString("tt") == comboBox6.Text) 
    { 
     Form2 form2 = new Form2(textBox2.Text); 
     form2.Show(); 
     simpleSound.Play(); 
    } 
} 

任何幫助或見解將不勝感激。

+0

您是否嘗試過使用斷點來驗證「tbox」的值是您認爲的值?你真的進入'if'語句嗎? – 2015-02-06 14:20:03

+0

是的。幾小時的限制爲1-12分鐘,1-60分鐘。 – EyeSeeSharp 2015-02-06 14:23:23

+0

什麼是您的'CurrentCulture'? – 2015-02-06 14:27:50

回答

0

DateTime.Now.Hourper the API,返回「小時分量,表示爲0到23之間的值」。

如果您希望它表示爲1-12之間的#,則必須使用ToString並指定格式。

DateTime.Now.ToString("%h"); 

將返回1-12之間的小時。

+0

對不起,我究竟會把這個放在哪裏? – EyeSeeSharp 2015-02-06 14:50:18

+0

無論你有'DateTime.Now.Hour == tbox1'。現在,我猜這是晚上8點22分,你在哪裏。 DateTime.Now.Hour返回爲20.您希望它返回8.'DateTime.Now.ToString(「%h」);'將返回8。 – Mike 2015-02-06 14:53:13

相關問題