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