首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >delphi dateformat MM|dd|yy转换为MM/dd/yy错误

delphi dateformat MM|dd|yy转换为MM/dd/yy错误
EN

Stack Overflow用户
提问于 2011-12-09 13:24:57
回答 2查看 6.3K关注 0票数 1

我需要转换我的当前日期,格式如下:

代码语言:javascript
复制
     MM|dd|yy     ---  12|09|11

我需要将格式转换为:

代码语言:javascript
复制
     MM/dd/yy     --12/09/11

当前系统日期分隔符为:

代码语言:javascript
复制
   -'|'

我将代码用作:

代码语言:javascript
复制
  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)行得到一个错误;

请告诉我如何转换日期格式并显示它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-09 14:45:45

以下是您的代码的更正版本:

代码语言:javascript
复制
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

票数 4
EN

Stack Overflow用户

发布于 2011-12-09 17:15:18

如果你所做的只是改变分隔符,而不是数字的顺序,那么你可以简单地使用StringReplace(),例如:

代码语言:javascript
复制
var
  S: String;

S := '12|09|11';
S := StringReplace(S, '|', '/', [rfReplaceAll]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8441443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档