请问:如何判断某个日期是星期几?d7有没有相关的函数,属性?还是要自己计算?

解决方案 »

  1.   

    long n;
    n = (year-1)*365;
    n += (year-1)/4;
    n -= (year-1)/100;
    n += (year-1)/400; for(int i=1;i<month;i++)
    n += endOfMonth(i,year); n += day+1;
    n %= 7; return n;最后n是几就是星期几啊。 endOfMonth函数也好实现啊。
      

  2.   

    int endOfMonth(int m,int y)
    {
    switch(m)
    {
    case 2:
    if(isLeapYear(y))
    return 28;
    else 
    return 29;
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: return 31;
    default: return 30;
    }
    }
      

  3.   

    uses DateUtils;....
      Weekof();
      

  4.   

    function DateToWeek(DateTime: TDateTime): String;
    const
      Returns: array[1..7] of String =
      ('星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六');
    begin
      Result := Returns[DayOfWeek(DateTime)];
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(DateToWeek(Now));
    end;
      

  5.   

    function WeekOf(const AValue: TDateTime): Word;
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);var
      ADate: TDateTime;
      days: array[1..7] of string;
    begin
      days[1] := 'Sunday';
      days[2] := 'Monday';
      days[3] := 'Tuesday';
      days[4] := 'Wednesday';
      days[5] := 'Thursday';
      days[6] := 'Friday';
      days[7] := 'Saturday';
      ADate := StrToDate(Edit1.Text);
      ShowMessage(Edit1.Text + ' is a ' + days[DayOfWeek(ADate)];
    end;
      

  7.   

    情问:如何 添加 uses DateUtils;  ?
      

  8.   

    用DayOfWeek就是了。
    在interface下面的uses中添加DateUtils就可以了啊。Edit1.Text:=inttostr(dayofweek(2004-8-29));