我在窗体上放置一个DateTimePicker1,设计时我把他的Date属性的值删除了,然后Date属性就变成了默认的1899-12-30,我作如下的判断:
if DateTimePicker1.Date=1899-12-30   then
 begin
  SHowMessage('OK!');
 end;
可是没有弹出消息框。即便是显示的是1899-12-30,为什么会这样?

解决方案 »

  1.   

    if DateTimePicker1.Date=0   then
     begin
      SHowMessage('OK!');
     end;
      

  2.   

    if DateTimePicker1.Date=(StrtoDate('1899-12-30')+DateTimePicker1.Time) then
        showMessage('OK');
      

  3.   

    if DateTimePicker1.Date=(StrtoDate('1899-12-30')+DateTimePicker1.Time) then
        showMessage('OK');
      

  4.   

    那么现在又出现了一个问题,如果当我在程序运行时修改了DateTimePicker1的日期,那么再这样判断,还是会出现“OK”:
    if DateTimePicker1.Date=(StrtoDate('1899-12-30')+DateTimePicker1.Time) then
     begin
        showMessage('OK');
     end
    else
     begin
      ShowMessage(DateToStr(DateTimePicker1.Time)); 
     end;
      

  5.   

    其实1899-12-30是一个基数,进行转化时需要用到他!比如我给你一个符点数,我要你将他转化为日期型,他是以1899-12-30为0进行转换操作的!
    所以当datetimepicker为空时代表日期为1899-12-30