function YearOderOfDay(ADate: TDate); var y, m, d: word; begin Decodedate(ADate, y, m, d); Result := Int(ADate - Encodedae(y, 1, 1)); end;
更正: Result := Inc(Int(ADate - Encodedae(y, 1, 1)));BTW: 你的问题的分数太多了吧。
好像这样才行,原来如此就行我简直了解太少了 function YearOderOfDay(ADate: TDate); var y, m, d: word; begin Decodedate(ADate, y, m, d); Result := floor(ADate - Encodedate(y, 1, 1)); end;
TDateTime是double类型的,用int定义DayNo变量,能通过编译器那关吗?
double DayNo = dt1-dt2+1;
或者
int DayNo = floor(dt1-dt2)+1;
var
y, m, d: word;
begin
Decodedate(ADate, y, m, d);
Result := Int(ADate - Encodedae(y, 1, 1));
end;
Result := Inc(Int(ADate - Encodedae(y, 1, 1)));BTW: 你的问题的分数太多了吧。
function YearOderOfDay(ADate: TDate);
var
y, m, d: word;
begin
Decodedate(ADate, y, m, d);
Result := floor(ADate - Encodedate(y, 1, 1));
end;