要求:编写一个简易日历。在文本框中输入要查找的日期,程序可以计算出这一天处在该年份的第几周,并且能判断出这一天到底是星期几?

解决方案 »

  1.   

    你可以用一些函数,例如:WeekOfTheMonth、WordToStr之类的函数进行转换
      

  2.   

    首部 function DecodeDateFully(const DateTime: TDateTime; var Year, Month, Day, DOW: Word): Boolean; $[SysUtils.pas
    功能 分解日期为年、月、日、星期
    说明 [DOW:Day Of Week]
    参考 function SysUtils.DateTimeToTimeStamp
    例子
    ///////Begin DecodeDateFully
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Year, Month, Day, DOW: Word;
    begin
    DecodeDateFully(Date, Year, Month, Day, DOW);
    SpinEdit1.Value := Year;
    SpinEdit2.Value := Month;
    SpinEdit3.Value := Day;
    SpinEdit4.Value := DOW;
    end;
    ///////End DecodeDateFully
      

  3.   

    首部 function DayOfWeek(const DateTime: TDateTime): Word; $[SysUtils.pas
    功能 返回日期时间DateTime所在的星期
    说明 1(星期天),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)
    参考 function SysUtils.DateTimeToTimeStamp
    例子 
    ///////Begin DayOfWeek
    procedure TForm1.Button1Click(Sender: TObject);
    const
    cWeekCn: array[1..7] of string =
    ('星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
    begin
    Edit1.Text := cWeekCn[DayOfWeek(Now)];
    end;
    ///////End DayOfWeek