关于字符串和日期型数据转换的问题(50分)

  • 主题发起人 主题发起人 bmwbey
  • 开始时间 开始时间
B

bmwbey

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在想把‘20040516’这种字符串变为日期型然后和其他的相同格式的日期比较相差的天数
就是我想算出‘20040516’和‘20030412’之间相差的实际天数,我用了strtodate想把这个字符窜变为日期型作出里,可是报错说这个不是日期型的值,给位大虾你们一般是怎么处理的?
 
var
abc:String;
efg:Tdate;
begin
abc:='20040516';
insert('-',abc,5);
insert('-',abc,8);
efg:=strtodate(abc);
end;
 
StrToDate(Copy('20040516',1,4)+'-'+Copy('20040516',5,2)+'-'+Copy('20040516',7,2))-StrToDate(Copy('20030412',1,4)+'-'+Copy('20030412',5,2)+'-'+Copy('20030412',7,2));
 
'2004-5-16' 是日期型的值,你可以试试。wqhatnet 说得对。做得也对。
 
function Str2Date(s:string):TDateTime;
begin
insert('-',s,5);
insert('-',s,8);
Result:=StrToDate(s);
end;

DaysBetween(Str2Date('20040516'), str2date('20030412')) //得到相差天数
 
DaySpan(strtodate('2004-05-16'),strtodate('2003-04-12'))返回相差的实际天数
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部