我在一个程序里需要判断用户当前所选择的时间是否是一个指定的值
如下:
if datatimepicker1.date>=strtodate('2006-12-27') then showmessage('ok!')
else showmessage('error');
但是我发现在调试时
把datetimepicker1中的值选到2006-12-27可总是显示'error'
我要怎样做才能判断datatimepicker1.date中的值是不是'2006-12-27'呢
请大家帮帮忙,谢谢!

解决方案 »

  1.   

    你这么写应该没问题,TDateTime 就是一个Double类型
      

  2.   

    你的程序没错.附带说一下:尽量不要给DateTimePicker取名为datatimepicker
                                               ~^~
      

  3.   

    我发现
    if datatimepicker1.date=strtodate('2006-12-27') then showmessage('ccc')
    else showmessage('error');
    好象datatimepicker1.date=strtodate('2006-12-27')二者永远不会相等 
    是什么原因?
      

  4.   


    if datatimepicker1.date=strtoDateTime('2006-12-27') then showmessage('ccc')
      

  5.   

    if DateToStr( datatimepicker1.Date)='2006/12/27' then Showmessage('OK');
    測試通過
      

  6.   

    to  hanyel(谁是渡我的佛) ( ):
     if datatimepicker1.date=strtoDateTime('2006-12-27') then showmessage('ccc')
    也一样没有用啊?二者还是不能相等;
      

  7.   

    if Trunc(datatimepicker1.Date) = Trunc(StrToDateTime('2006-12-27')) then
        ShowMessage('ccc')
      

  8.   

    //用日期格式化函数
    if formatDateTime('YYYY-MM-DD',datatimepicker1.Date)='2006-12-17' then
     ShowMessage('Ok') else ShowMessage('Error');
      

  9.   

    //用日期格式化函数
    if formatDateTime('YYYY-MM-DD',datatimepicker1.Date)='2006-12-17' then
     ShowMessage('Ok') else ShowMessage('Error');
      

  10.   

    比较日期用int
    TDate Data1 = Now();
    Tdate Data2 = Date();if(Data1 == (int) Data2)
    {
       //haha}
      

  11.   

    datetimepicker这个控件有点小错误,就是DATETIMEPICKER.DATE 实际上取到的不光是日期,还有默认时间,当然不会等于strtoDateTime('2006-12-27') 只有用
    TRUNC(DATETIMEPICKER.DATE)才能消掉默认的时间,if Trunc(datatimepicker1.Date) = StrToDateTime('2006-12-27') then    ShowMessage('ccc')
    这样就不会出错.