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时不在报错,

posted @ 2019-10-23 16:13  木头侠  阅读(314)  评论(0编辑  收藏  举报