正好有一段程序
天数计算:
function DaysOfMonth(y,m:integer):integer;//y代表年,m代表月
const
days:array [1..12] of integer=(31,28,31,30,31,30,31,31,30,30,30,31);
begin
if m=0 then
begin
y:=y-1;
m:=12;
end
else
if m=13 then
begin
y:=y+1;
m:=1;
end;
if m<>2 then
begin
Result:=days[m];
exit;
end;
if (y mod 400=0) then
Result:=29
else
if ((y mod 4=0) and (not(y mod 100=0))) then
Result:=29
else
Result:=28;
end;
function CurrentWeek:integer;
var
n1,i1:integer;
function DaysOfYear(y1:integer):integer;//测试此是否为闰年
begin
if (y1 mod 400=0) then
Result:=366
else
if ((y1 mod 4=0) and (not(y1 mod 100=0))) then
Result:=366
else
Result:=365;
end;
begin
n1:=1+Date;
for i1:=1980 to Year-1do
n1:=n1+DaysOfYear(i1);
if Month<>1 then
for i1:=1 to Month-1do
n1:=n1+DaysOfMonth(Year,i1);
n1:=n1 mod 7;
if n1=0 then
Result:=7
else
Result:=n1;
end;
此程序中的year,month,date分别代表程序中的年、月、日,程序中以1980年1月1日的日期为起始日期,你也可以自已改
至于计算月,自已在根据以上程序再想想