StrToDate('2010-01-01‘) 这在xp下正常 
但是在Vista下  就报 '2010-01-01’是个无效的日期??  咋办?

解决方案 »

  1.   

    1、控件面板中把日期格式改一下
    2、也可以在程序中指定
      DateSeparator := '-';
      ShortDateFormat := 'yyyy-m-d';
      

  2.   

    为报错更加友好,可以用StrToDateDef代替StrToDate,这样一旦转换出错可以指定一个默认值
      

  3.   

    为了兼容不同不同的操作系统,应该杜绝使用 StrToDate 这样的函数。
    而使用 StrToDateDef 这样的只是投机而已。推荐使用的是:DecodeDate();
    EncodeDate();如果安装一个软件还要修改别人的操作系统的日期格式的话,
    我如果碰上这样的软件,我一旦发现,马上卸载,永不复用。