关于DataTimePicker控件的问题
用DELPHI带的DataTimePicker控件,得到的date是'yy-mm-dd'的格式,有什么方法得到
'yyyy-mm-dd'的日期格式?关于查询的问题
我在查询时,如果日期用‘yy-mm-dd'的格式来查询的话,记录或是查不出来或是查出不对的记录,但是我用'yyyy-mm-dd‘的格式的日期来查询,却一切正常,这是怎么回事,有什么解决的办法吗?

解决方案 »

  1.   

    楼上的方法都可以解决问题,但是为了考虑通用性及减少维护工作,我建议在你的工程开始设置日期格式,这样你的程序就不依赖于系统格式了:  ShortDateFormat := 'yyyy-MM-dd';
      LongDateFormat := 'yyyy-MM-dd';
      DateSeparator := '-';
      

  2.   

    请问,ShortDateFormat := 'yyyy-MM-dd';
      LongDateFormat := 'yyyy-MM-dd';
      DateSeparator := '-';
    这些是什么的属性,是日期控件的吗?
      

  3.   

    DataTimePicker上有个时间长短设置的属性,把其选为LONG,其时间格式即会变为YYYY-MM-DD。 
    在查询时,方法一为如楼上wuwoczj(无我,误我,悟我,无我) 所讲的一样把时间转变成字符串进行比较;
    方法二为如果表中的字段为DATE字段,则可以直接用DataTimePicker.date 来比较,不用进行类型转换。
      

  4.   

    你的BDE A。。配置的日期型的数据格式是'yyyy-mm-dd'的日期格式
    建议你将日期型改用字符型,‘YYYY-MM-DD’来存放,查询比较很方便
    用formatdatetime('yyyy"-"mm"-"dd',datetimepicker1.Date)来转换
    字符转换成日期则麻烦些如下例吧
      date1:=table1.Fieldbyname('rdate').AsString;
      year1:=date1[1]+date1[2]+date1[3]+date1[4];
      month1:=date1[6]+date1[7];
      day1:=date1[9]+date1[10];
      year2:=strtoint(year1);
      month2:=strtoint(month1);
      day2:=strtoint(day1);
      datetimepicker1.Date:=encodedate(year2,month2,day2);
      

  5.   

    回复tongki_8(矛盾与迟钝)
    将DATATIMEPICKER的时间长短设置设为LONG,只不过显示为长格式,但是实际的值还是yy-mm-dd