部分代码:
testdate>=to_date(:ST,"YYYYMMDD") and testdate<to_date(:FT,"YYYYMMDD") 
parambyname('ST').AsString :=formatdatetime('yyyymmdd',datetimepicker1.Date)   
parambyname('FT').AsString :=formatdatetime('yyyymmdd',datetimepicker1.Date+10/24)麻烦看一下哪里错了?好像是加不了10/24的样子,加1就可以好像?

解决方案 »

  1.   

    看一下这几个函数
    IncDay Returns a date shifted by a specified number of days. 
    IncHour Returns a date/time value shifted by a specified number of hours. 
    IncMilliSecond Returns a date/time value shifted by a specified number of milliseconds. 
    IncMinute Returns a date/time value shifted by a specified number of minutes. 
    IncSecond Returns a date/time value shifted by a specified number of seconds. 
    IncWeek Returns a date shifted by a specified number of weeks. 
    IncYear Returns a date shifted by a specified number of years. 要Uses DateUtils
      

  2.   

    TDatetime实际是double类型,应该是可以加10/24的,不知道你这里的10/24是表示什么
      

  3.   

    代表datetimepicker1+1/24*10,奇怪的是一直都不行,加1天都可以,加10个小时就不行?
      

  4.   

    1、TDatetime实际是double类型,可以加10/24。
    2、+10/24是加长10小时。
    3、虽然你加长10小时,但是如果不能进1的话,formatdatetime('yyyymmdd',datetimepicker1.Date+10/24)的值还是原值。建议你使用:formatdatetime('yyyymmdd hh',datetimepicker1.Date+10/24),显示(加)小时字符,看看你是否加入了10/24。
      

  5.   

    另外,如果你计算天数,另外小时数,算1天的话,你可以通过代码实现:formatdatetime('yyyymmdd hh',Round(datetimepicker1.Date+10/24));
      

  6.   

    formatdatetime('yyyymmdd',Round(datetimepicker1.Date+10/24)); 
      

  7.   

    建议用DateUtils里的函数,很多很全