给出日期,如何知道是这一年的第几周?

deardelphi 2000-08-13 10:58:00
请教各位大虾:
如果给出当前日期,如何知道当前日期是在这一年的第几周中呢?100分送上.
...全文
219 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Michaelyfj 2000-08-13
  • 打赏
  • 举报
回复
关注
华南虎哥 2000-08-13
  • 打赏
  • 举报
回复
关注
shylsz 2000-08-13
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
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中输入日期
PoolD 2000-08-13
  • 打赏
  • 举报
回复
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;

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧