function WeekofYear(Date: TDate): integer;
var
FirstDay, FirstWeekEnd, NowWeekEnd: TDate;
Year, Month, Day: word;
begin
DecodeDate(Date, Year, Month, Day);
FirstDay := EncodeDate(Year, 1, 1);
FirstWeekEnd := FirstDay + 7 - DayofWeek(FirstDay);
NowWeekEnd := Date + 7 - DayofWeek(Date);
Result := Round(NowWeekEnd - FirstWeekEnd) div 7 + 1;
end;
var
FirstDay, FirstWeekEnd, NowWeekEnd: TDate;
Year, Month, Day: word;
begin
DecodeDate(Date, Year, Month, Day);
FirstDay := EncodeDate(Year, 1, 1);
FirstWeekEnd := FirstDay + 7 - DayofWeek(FirstDay);
NowWeekEnd := Date + 7 - DayofWeek(Date);
Result := Round(NowWeekEnd - FirstWeekEnd) div 7 + 1;
end;
var
v_nowofweeks,v_nowofweeksofday:integer;
v_firstday:Tdate;
v_firstdayofweek:integer;
ADate: TDate;
begin
ADate := strtodate(edit2.text);
v_firstday:=strtodate(copy(datetostr(adate),0,4)+ '-01-01');
v_firstdayofweek:=dayofweek(v_firstday);
v_nowofweeks:=round(adate - v_firstday) div 7 + 1;
v_nowofweeksofday:=round(adate - v_firstday) mod 7;
if v_firstdayofweek + v_nowofweeksofday >7 then
showmessage(edit2.text + ' is the ' + inttostr(v_nowofweeks + 1) +' week')
else
showmessage(edit2.text + ' is the ' + inttostr(v_nowofweeks) +' week');
end;
//在edit2中输入日期