我需要转换我的当前日期,格式如下:
MM|dd|yy --- 12|09|11我需要将格式转换为:
MM/dd/yy --12/09/11当前系统日期分隔符为:
-'|'我将代码用作:
var
sDateOne : TDate ;
begin
Label1.Caption:=datetostr(now); {this display as 12|09|11}
ShortDateFormat:='MM/dd/yy';
DateSeparator:='/';
sDateOne:=StrToDate(Label1.Caption);
FormatDateTime('MM/dd/yy',sDateOne );
Label2.Caption:=datetostr(sDateOne); {this i want as 12/09/11 }
end;但是我在sDateOne:=StrToDate(Label1.Caption)行得到一个错误;

请告诉我如何转换日期格式并显示它?
发布于 2011-12-09 14:45:45
以下是您的代码的更正版本:
var
DateOne: TDate;
LocalFormatSettings: TFormatSettings;
begin
Label1.Caption := datetostr(now); {this display as 12|09|11}
DateOne := StrToDate(Label1.Caption);
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, LocalFormatSettings);
LocalFormatSettings.DateSeparator := '/';
Label2.Caption := FormatDateTime('MM/dd/yy', DateOne, LocalFormatSettings); {this i want as 12/09/11 }
end;有关GetLocaleFormatSettings的信息,请参阅http://delphi.about.com/library/rtl/blrtlGetLocaleFormatSettings.htm
发布于 2011-12-09 17:15:18
如果你所做的只是改变分隔符,而不是数字的顺序,那么你可以简单地使用StringReplace(),例如:
var
S: String;
S := '12|09|11';
S := StringReplace(S, '|', '/', [rfReplaceAll]);https://stackoverflow.com/questions/8441443
复制相似问题