delphi程序不受WINDOWS日期格式的影响

Posted approx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi程序不受WINDOWS日期格式的影响相关的知识,希望对你有一定的参考价值。

如果WINDOWS系统的短日期格式为“yyyy/m/d”,执行下面的代码会报错:2013-01-29 00:00:00不是合法的日期

在主程序打开时更改windows日期格式

 //更改windows日期格式

SetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SSHORTDATE, ‘yyyy-MM-dd‘);
Application.UpdateFormatSettings := False;

但问题又来了,现在是win10的系统,用户还一定得要用管理员权限打开才行。

可用户打开报错,可不管这么多的,直接说程序问题,那只能设定程序本身所使用的日期时间格式并配合使用formatdatetime

 

//更改程序本身所使用日期

with FormatSettings do
begin
  LongDateFormat := ‘yyyy-MM-dd‘;
  ShortDateFormat := ‘yyyy-MM-dd‘;
  LongTimeFormat := ‘hh:nn:ss‘;
  ShortTimeFormat := ‘hh:nn:ss‘;
  DateSeparator := ‘-‘;
  timeSeparator := ‘:‘;
end;

运行主程序并调用dll时不在报错,

以上是关于delphi程序不受WINDOWS日期格式的影响的主要内容,如果未能解决你的问题,请参考以下文章