我在delphi测试时用label1.caption:=DateToStr(dtpStart.Date)
显示出来的结果是02-4-3

解决方案 »

  1.   

    1:输入数据库时要:
    formatdatetime('yyyy-mm-dd',Date) + ' ' + formatdatetime('hh:mm:ss',time) + '"
    2:显示时要:
    TDateTimeField(Query1.Fields[3]).DisplayFormat :='yyyy/mm/dd  hh:mm:ss';
      

  2.   

    有两种方法:
    方法一:将DateToStr换成FormatDateTime('yyyy-mm-dd',dtpStart.Date);方法二:在控制面板中设置系统日期时间的长短格式.
      

  3.   


    strWhere:='Where LoginDate between '''+Format( DateToStr(dtpEnd.Date),['yyyy-mm-dd'])
              +''' and '''+Format( DateToStr(dtpEnd.Date),['yyyy-mm-dd'])+'''';
      

  4.   

    strWhere:='Where LoginDate between '+DateToStr(dtpStart.Date)
              +' and '+DateToStr(dtpEnd.Date);
      

  5.   

    把dtpEnd,dtpStart 的time属性设为00:00:00strWhere:='Where LoginDate between '''+DateToStr(dtpStart.Datetime)
              +''' and '''+DateToStr(dtpEnd.Datetime+1)+'''';
      

  6.   

    strWhere:='Where LoginDate between '''+DateTimeToStr(dtpStart.Date)
              +''' and '''+DateTimeToStr(dtpEnd.Date)+'''';
      

  7.   

    应该为
    strWhere:='Where convert(char(10),LoginDate,21) >= '''+DateToStr(dtpStart.Datetime)
              +''' and  convert(char(10),LoginDate,21) <= '''+DateToStr(dtpEnd.Datetime)+'''';
      

  8.   

    再试一下把dtpEnd,dtpStart 的time属性设为00:00:00sql.add('LoginDate>='''+DateToStr(dtpStart.Datetime)
              +''' and '+'LoginDate<'''+DateToStr(dtpEnd.Datetime+1)+'''');
      

  9.   

    where time between startdate to enddate
      

  10.   

    从系统设置的角度,你可以在控制面板的区域设置中进行设置
    从程序的角度来看,我以前访问Oracle时很少用Between,而是经常用">= and <=",另外在Oracle中转换日期格式用To_char(datefd,'yyyymmdd')
    你在试一下