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日期格式的影响的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 设置时间格式

Delphi Xe 中如何把日期格式统一处理,玩转 TDatetime

在Delphi中处理数据库日期型字段的显示与输入

急急急!!!delphi中修改了DBGridEh中一列的值,希望在另一列显示修改的当前日期

不修改系统日期和时间格式,解决Delphi报错提示 '****-**-**'is not a valid date and time

关于在delphi中时间日期的转换问题,高手进