怎么把日期中的年、月、日以数型显示阿,比如2003年1月1日-2004年12月31日
2003
   1
     1
     2
     3
   2 
     1
     2
     3
2004
   1
     2
     3
  ......

解决方案 »

  1.   

    var StartYear,EndYear,nMonth,nDate,vMonth:Word;
        StartDate,EndDate:Tdatetime;
        NodeYear,NodeMonth:TTreeNode;
    begin
      treeview1.Items.Clear;
      StartYear:=2003;
      EndYear:=2005;  StartDate:=EncodeDate(StartYear,1,1);
      EndDate:=EnCodeDate(EndYear,12,31);  vMonth:=0;
      EndYear:=0;
      while StartDate<=EndDate Do
      begin
        DecodeDate(StartDate,StartYear,nMonth,nDate);
        if StartYear<>EndYear then
        begin
          EndYear:=StartYear;
          NodeYear:=Treeview1.Items.Add(nil,Inttostr(StartYear));
        end;
        if vMonth<>nMonth then
        begin
          vMonth:=nMonth;
          NodeMonth:=Treeview1.Items.AddChild(NodeYear,Inttostr(nMonth));
        end;
        Treeview1.Items.AddChild(NodeMonth,Inttostr(nDate));
        StartDate:=StartDate+1;
      end;end;