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() + "秒";

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值