作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此代码应该在 Delphi XE2 中工作,但在 StrtoDateTime 转换中给出“不是有效的日期和时间”错误:
procedure TForm2.Button1Click(Sender: TObject);
var
s: string;
d: TDateTime;
FmtStngs: TFormatSettings;
begin
GetLocaleFormatSettings(GetThreadLocale, FmtStngs);
FmtStngs.DateSeparator := #32;
FmtStngs.ShortDateFormat := 'dd mmm yyyy';
FmtStngs.TimeSeparator := ':';
FmtStngs.LongTimeFormat := 'hh:nn';
s := FormatDateTime('', Now, FmtStngs);
d := StrToDateTime(s, FmtStngs);
end;
有什么提示吗?
最佳答案
如果你想转换一些特殊的日期时间格式,你最好使用 VarToDateTime而不是 StrToDateTime。只要看一下两者的实现,您就会认识到,StrToDateTime 是某种......而 VarToDateTime 会询问操作系统是否无法自行确定。
这适用于 Delphi XE3(但也应该适用于早期版本):
procedure TForm2.Button1Click( Sender: TObject );
var
s: string;
d: TDateTime;
FmtStngs: TFormatSettings;
begin
GetLocaleFormatSettings( GetThreadLocale, FmtStngs );
FmtStngs.DateSeparator := #32;
FmtStngs.ShortDateFormat := 'dd mmm yyyy';
FmtStngs.TimeSeparator := ':';
FmtStngs.LongTimeFormat := 'hh:nn';
s := FormatDateTime( '', Now, FmtStngs );
d := VarToDateTime( s );
end;
关于delphi - 使用 StrToDateTime 和 TFormatSettings 进行转换不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13308472/
此代码应该在 Delphi XE2 中工作,但在 StrtoDateTime 转换中给出“不是有效的日期和时间”错误: procedure TForm2.Button1Click(Sender: TO
我是一名优秀的程序员,十分优秀!