楼上的,有那函数吗???!!!!!(weekofyear(date) )拜托各位大虾详细点
解决方案 »
- 一个日期查询的问题
- 大虾我的程序想调用FOXMAIL,然后从数据表里填入收件人地址,不知道如何做?
- 今天第一天上班,没什么事我想跳
- ACCESS数据库损坏问题(急!!!!!)
- 问:在客户端如何保证在服务器端处理完前一条指令以后才发送当前指令?
- 征询—如何用Delphi对USB设备编程?高分求教(300)
- 关于DBGIRD的问题,请教各位老大!
- VB程序员的Delphi菜鸟问题(超级菜)
- DELPHI7不支持FOR IN DO 有一个集合函数转换成D7能用的谢谢
- 大家为什么不联合起来写以个程序?这样才是出路,别重复劳动了,别小打小闹了,真的。
- 关于拖拉Webbrowser控件中的URL到拖拉小窗口
- 哪位大侠指点一下在win2k如何下如何编写服务程序?请举个例子说明。可以加分。谢谢!
2、求出当前日期为这一年的第几天(Day);
3、确立一个基准起点(7-元旦这天的星期数)DayZro,因为元旦不一定是周一。
4、Day-DayZro如果为负则为第一周,否则int(Day-DayZro/7+1+0.5)//+1.5是因为int不是四舍五入。
var OrderInWeek,OrderInYear:integer;
year,month,day:word;
firstDayOfYear:Tdate;
begin
DecodeDate(fDate,year,month,day);
firstDayOfYear:=EncodeDate(year,1,1);
OrderInWeek:=dayOfWeek(firstDayOfYear);
OrderInYear := Trunc(fdate-firstDayOfYear);
result:=((OrderInYear+OrderInWeek-1) div 7) +1;
end;
weekoftheyear(date)
所以可以用取整后,相差。(减元旦的整数) BCB(:))的话是对的
procedure DecodeDateWeek(const AValue: TDateTime; out AYear, AWeekOfYear,
ADayOfWeek: Word);
var
LDayOfYear: Integer;
LMonth, LDay: Word;
LStart: TDateTime;
LStartDayOfWeek, LEndDayOfWeek: Word;
LLeap: Boolean;
begin
LLeap := DecodeDateFully(AValue, AYear, LMonth, LDay, ADayOfWeek);
ADayOfWeek := CDayMap[ADayOfWeek];
LStart := EncodeDate(AYear, 1, 1);
LDayOfYear := Trunc(AValue - LStart + 1);
LStartDayOfWeek := DayOfTheWeek(LStart);
if LStartDayOfWeek in [DayFriday, DaySaturday, DaySunday] then
Dec(LDayOfYear, 8 - LStartDayOfWeek)
else
Inc(LDayOfYear, LStartDayOfWeek - 1);
if LDayOfYear <= 0 then
DecodeDateWeek(LStart - 1, AYear, AWeekOfYear, LDay)
else
begin
AWeekOfYear := LDayOfYear div 7;
if LDayOfYear mod 7 <> 0 then
Inc(AWeekOfYear);
if AWeekOfYear > 52 then
begin
LEndDayOfWeek := LStartDayOfWeek;
if LLeap then
begin
if LEndDayOfWeek = DaySunday then
LEndDayOfWeek := DayMonday
else
Inc(LEndDayOfWeek);
end;
if LEndDayOfWeek in [DayMonday, DayTuesday, DayWednesday] then
begin
Inc(AYear);
AWeekOfYear := 1;
end;
end;
end;
end;