日期转换问题?
我想把'000418'转换成2000-04-18
但d5总报转换错误,自己设定shortDateFormat('yymmdd')也不行
如何解决?
问题点数:30、回复次数:6Top
1 楼supershan()回复于 2000-04-20 10:29:00 得分 0
你可用程序实现,进行截取Top
2 楼zoao(牧羊人)回复于 2000-04-20 11:39:00 得分 0
进行截取Top
3 楼ajie()回复于 2000-04-20 17:46:00 得分 10
你试一试下面的程序,我已验证过
procedure TForm1.Button1Click(Sender: TObject);
var
D:tdatetime;
begin
ShortDateFormat:='YYYY-MM-DD';
LongDateFormat:='YYYY-MM-DD';
DateSeparator:='-';
TwoDigitYearCenturyWindow := 90;
D:=strtodate('00-04-18');
showmessage(datetostr(D));
end;Top
4 楼xiaonan(我爱罗)回复于 2000-05-21 21:32:00 得分 5
var
str:string;
d1,d2:datetime;
begin
d1:=strtodatetime(str);
str :=formatdatetime('yyyy-mm-dd',d1);
d2:=strtodatetime(str);
end;
解释:d2为返回值。Top
5 楼zyc(zir)回复于 2000-05-22 08:52:00 得分 10
在Delphi中,日期的字串必须有分隔符。象000418的字串在没有经变换的前提下是不能由Delphi的strtodate来转换的。以下提供一种方法,在对原来字串经少量处理后可实现你想要的功能,程序如下:
procedure TForm1.Button1Click(Sender: TObject);
var
sd,s:string;
dt:TDatetime;
begin
shortdateformat := 'yy-mm-dd';
s :='000418';
insert('-',s,3);
insert('-',s,6);
dt := strtodate(s);
shortdateformat:='yyyy-mm-dd';
sd := datetostr(dt);
Edit1.Text :=sd;
end;
你在一个新的工程中加入一个Button和一个Edit, 在Buton1的Onclick加入上述代码即可看到结果。Top
6 楼hony(丁丁)回复于 2000-05-26 02:19:00 得分 5
我提供一个很常用的方法,很有效.先定义3个word变量 var y,m,d:word;
在某过程中加入下面代码,假定在edit1编辑框中显示.
代码为:
decodedate(date,y,m,d);
edit1.text:=y+'-'+m+'-'+d;
是不是很方便?^o^Top




