delphi中不认识'20020609' 这种格式,但输出时可以是任何格式,
用formdatatime就可以了。如
Showmessage(FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', Now + 0.125));
用formdatatime就可以了。如
Showmessage(FormatDateTime('"The meeting is on " dddd, mmmm d, yyyy, " at " hh:mm AM/PM', Now + 0.125));
有可能是yyyy-mm-dd,也有可能是yyyy年mm月dd日。不知各位还有什么好方法?
字符串要转换成TDatetime类型可以用StrToDateTime
系统变量是什么??只有改变系统日期格式这一种方法吗?
能不能在不改变系统日期格式的前提下完成转换?
谢谢各位的参与,Up者也给分。
var
aa:String;
bb:tdate;
begin
ShortDateFormat:='yyyy-mm-dd';
DateSeparator:='-';
aa:='2002-06-09';
bb:=strtodate(aa);//if aa='20020609' then 报错
end;
不会是再设置回原来的日期格式吧!
不会是再设置回原来的日期格式吧!
var
aa:String;
bb:tdate;
Function FormatStringDate(S: String): String;
begin
FormatStringDate:=Copy(S,1,4)+'-'+Copy(S,5,2)+'-'+Copy(S,7,2);
end;
begin
ShortDateFormat:='yyyy-mm-dd';
DateSeparator:='-';
aa:='20020609';
bb:=strtodate(FormatStringDate(aa));
end;
var
aa:String;
bb:tdate;
Function FormatStringDate(S: String): String;
begin
FormatStringDate:=Copy(S,1,4)+'-'+Copy(S,5,2)+'-'+Copy(S,7,2);
end;
begin
ShortDateFormat:='yyyy-mm-dd';
DateSeparator:='-';
aa:='20020609';
bb:=strtodate(FormatStringDate(aa));
end;
DateTimePicker.datetime 转化为字符最好用 formatdatetime函数什么样的要求都可以满足
formatdatetime('yyyy''年''MM''月'dd''日''',DateTimePicker.datetime)
转化为中文格式
var
aa: String;
bb: TDateTime; Function GetNumber(S: String;Start,Len: Integer): integer;
var
t: String;
i: Integer;
begin
i:=0;
t:='';
while (i<len) and (S[Start + i] in ['0'..'9']) do
begin
t := t + S[Start + i];
inc(i);
end;
Result := StrToInt(t);
end;begin
aa:='20020609';
bb:=EncodeDate(GetNumber(aa,1,4),GetNumber(aa,5,2),GetNumber(aa,7,2));
end;
var
aa:String;
bb:tdate;
Function FormatStringDate(S: String): String;
begin
FormatStringDate:=Copy(S,1,4)+'-'+Copy(S,5,2)+'-'+Copy(S,7,2);
end;
begin
ShortDateFormat:='yyyy-mm-dd';
DateSeparator:='-';
aa:='20020609';
bb:=strtodate(FormatStringDate(aa));
end;
这个很好,我试了