Visual C#中的DateTimePicker的使用簡介

         在C#中控件是很有好的,但是有一些控件使用起來有一點不方便, DateTimePicker控件用着很方便,但是要根據自己的需要取值還是不那麼容易.

        本人在做畢業設計時,要用DateTimePicker控件取日期,插入到一個DateTime屬性的ACCESS表的列中,同時要把兩個取值相差得出天數,插入到一個數據型列中,但是在編寫過程中總是出錯,我的代碼如下:

 

  string instr1 = "insert into Leave(eNo,eName,LeaveType,StartDay,EndDay,Days) values('" + stNo + "','" + stName + "','" + textBox5.Text + "','" + dateTimePicker1.Value.Date.ToShortDateString() + "','" + dateTimePicker2.Value.Date.ToShortDateString() + "'," + Convert.ToInt32(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).ToString() + ")";
                    
string flag1 = DB.insert(instr1);
                    
if ( flag1 == "1")
                    
{
                        MessageBox.Show(
"考勤登記成功!");
                    }

                    
else
                    
{
                        MessageBox.Show(
"考勤登記失敗!");
                    }

   但是系統總是提示INSERT INTO語句出錯,無法把一個無限長的數據轉換成整型.怎麼回事呢?

   有MESSAGEBOX把instr1的值給顯示了一下,發現兩個dataTimePicker相減的值爲:天數 00:00:00 ,怪不得會出錯,於是我的原代碼中的dateTimePicker1.value.Date-dateTimeRicker2.Value.Date改變爲(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2),則執行成功了!於的我把DateTimePicker的用法總結如下:

dateTimerPicker1.Value  獲取所選擇的日期/時間

dateTimerPicker1.Text  獲取控件顯示的"XXXX年XX月XX日"

dateTimerPicker1.Value.Date 獲取當前控件把選取的短日期

這些都是常用的,其他的屬性可以查看MSDN上面的說明,對了,要獲取兩個日期控件相差的值,也就是兩個日期的相差天數,代碼應如下寫:(dateTimePicker2.Value.Date - dateTimePicker1.Value.Date).Substring (0,2)。

這些都是我個人的一些心得,寫出來與大家共享,不足之處望大家批評指正!

剛剛有一位老兄給我發表評論,令我如提壺灌頂,他的方法確實很好用,在此多謝了!現在總結如下:

 DateTime oldDate = dateTimePicker1.Value.Date ;
            DateTime newDate = dateTimePicker2.Value.Date ;
            textBox1.Text = oldDate.ToString();
            textBox2.Text = newDate.ToString();
            System.TimeSpan ts = newDate.Subtract(oldDate);
            textBox3.Text = ts.Days.ToString()+"天";

便可獲得兩個dateTimePicker控件的相差的天數,如要獲得其他信息,代碼如下:

  小時: ts.Hours.ToString() + "時";
      分鐘:  ts.Minutes.ToString() + "分";
        秒: ts.Seconds.ToString() + "秒";

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章