如何知道某月的第N个星期M的日期??? 先用DayOfWeek();求2001年4月的第1天是星期几(D)DecodeDate(2001年4月1+(N-2)*7+7-D+M+1, yyyy, mm, dd); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我建議你使用dayofweek函數,但是非要不想使用,你可以參照以下dayofweek的原代碼,具体反推敲,相信你可以自己搞定./*c*/unsigned dayOfWeek(unsigned day, unsigned month, unsigned year){ int century, yr, dw; if(month < 3) { month += 10; --year; } else month -= 2; century = year / 100; yr = year % 100; dw = (((26 * (int)month - 2) / 10) + (int)day + yr + (yr / 4) + (century / 4) - (2 * century)) % 7; if(dw < 0) dw += 7; return((unsigned)dw);}/*Pascal :translate by me.很長時間沒有使用pascal,如有錯誤,請多見諒*/function dayofweek(day:integer,month:integer,year:integer):integervar century,yr,dw:integer;begin if month < 3 then begin month := month + 10; year := year - 1; end else month := month - 2; century := year div 100; yr := year mod 100; dw := (((26*month - 2) div 10) + day + yr + (yr div 4) + (century div 4) - (2* century)) mod 7; if dw < 0 then dw := dw + 7; result := dw; end; 借鉴sun-lz的方法,我自己弄出来了。不过方程不同,设当月的1号星期为D则所求日期的day:= (7-D)+(N-1)*7-(7-M)+1还需要加上年和月,并验证是否有这天,用EncodeDate(); 怎样才能将ADOQuery查询结果集整体送入一个数据表中? 帮帮我 如何在打开程序前自动调整屏幕分辨率 用delphi怎样连sybase? 如果我程序编译成的exe过大怎么办? 关于WinSock编程的简单问题 制作什么样的软件,会受到欢迎? 如何修改一个文件的创建日期和修改日期?急...... 富翁又可以上了,感覺速度還不錯。 DELPHI 用戶有福了 wwww.delphibbs.com(內空) 哪位高手知道RTF格式的含义?或者更好,知道Rxlib中的RXRICHEDIT控件中识别RTF格式的方法? 关于操作文本文件的问题 消息框显示问题?
/*c*/
unsigned dayOfWeek(unsigned day, unsigned month, unsigned year)
{
int century, yr, dw; if(month < 3)
{
month += 10;
--year;
}
else
month -= 2; century = year / 100;
yr = year % 100;
dw = (((26 * (int)month - 2) / 10) + (int)day + yr + (yr / 4) + (century / 4) -
(2 * century)) % 7; if(dw < 0)
dw += 7; return((unsigned)dw);
}/*Pascal :translate by me.很長時間沒有使用pascal,如有錯誤,請多見諒*/
function dayofweek(day:integer,month:integer,year:integer):integer
var
century,yr,dw:integer;
begin if month < 3 then
begin
month := month + 10;
year := year - 1;
end
else
month := month - 2;
century := year div 100;
yr := year mod 100;
dw := (((26*month - 2) div 10) + day + yr + (yr div 4) + (century div 4) - (2* century)) mod 7;
if dw < 0 then
dw := dw + 7;
result := dw;
end;
不过方程不同,
设当月的1号星期为D
则所求日期的day:= (7-D)+(N-1)*7-(7-M)+1还需要加上年和月,并验证是否有这天,用EncodeDate();