Delphi日期类函数

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:01:36
本人想写一个Delphi的函数WeekNo(D1:TDateTime)返回当前日期距离D1究竟过了多少周,
但总出错,请搭救一下,谢谢!
function WeekNo(D1:TDateTime):Integer;
var
CurrentDate: TDateTime;
HistoryDate: TDateTime;
CurrentWeek: Integer;
HistoryWeek:Integer;
Days:Integer;
begin
CurrentDate := Date;//返回当前的日期给CurrentDate
CurrentWeek:=DayOfWeek(CurrentDate);//返回当前日期的星期值给CurrentWeek
CurrentDate:=CurrentDate-CurrentWeek;//更新CurrentDate为本周初始的日期

HistoryWeek:=DayOfWeek(D1);
HistoryDate:=D1-HistoryWeek;//更新HistoryDate为第一周初始的日期

Days:=CurrentDate-HistoryDate;//过了多少天。这一句出错,错误提示如下:

WeekNo:=Days/7;//过了几周。,这一句出同样的错误

end;
[Error] Unit1.pas(58): Incompatible types: 'Integer' and 'Extended'
我知道有DateDiff()函数可以直接解决问题,请问该uses什么单元?

/ 实数除 整数,实数 实数 X / 2
div 整数除 整数 整数 Total div UnitSize
把实数除/换成div关键字

days类型不对,改成Extended

用variant

朋友,你要看两个日期之间有多少周,可以直接(日期1-日期2) div 7,再处理一些特殊情况就OK了啊。