Ian*_*oyd 4 delphi localization date-format
我意识到ShortDateFormat变量代表了用户的偏好.
我也意识到如果设置改变,Delphi将ShortDateFormat使用用户的设置自动刷新变量.
mm/dd/yy
Run Code Online (Sandbox Code Playgroud)
我有一个客户希望所有"短日期"显示在特定的,但他们不想要他们的Windows偏好.
mm/dd/yyyy
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,ShortDateFormat为了可以随时重置变量,更改变量的全局方法是什么?
注意:包含代码格式的示例日期格式掩码,以使帖子更具视觉吸引力
拥有自己的FormatSettings并使用它与所有格式例程明确地使用它而不是使用隐式版本.
它还具有线程安全的优点.
function DateTimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime; const FormatSettings: TFormatSettings): string;
Run Code Online (Sandbox Code Playgroud)
更新:为避免应用程序对区域设置更改做出反应,您可以更改Application.UpdateFormatSettings为False.
它是默认True的TApplication.Create.
但请注意,对于所有设置,这不是100%防弹,因为一些例程直接获取ThreadLocale.
我同意François,但我想提一下另一个选择:set
Application.UpdateFormatSettings := False;
Run Code Online (Sandbox Code Playgroud)
防止在Windows中全局更改格式设置时自动更新格式设置.