- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我意识到 ShortDateFormat
变量代表用户的偏好。
我还意识到,如果设置发生更改,Delphi 将使用用户的设置自动刷新 ShortDateFormat
变量。
mm/dd/yy
我有一位客户希望所有“短日期”都显示在特定的位置,但他们不希望显示自己的 Windows 首选项。
mm/dd/yyyy
考虑到可以随时重置,在我的应用程序中全局更改 ShortDateFormat
变量的好方法是什么?
注意:包含代码格式的示例日期格式掩码,以使帖子更具视觉吸引力
最佳答案
拥有自己的 FormatSettings 并将其与所有格式例程一起显式使用,而不是使用隐式版本。
它还有线程安全的优点。
function DateTimeToStr(const DateTime: TDateTime): string;
function DateTimeToStr(const DateTime: TDateTime; const FormatSettings: TFormatSettings): string;
更新:为避免您的应用程序对区域设置更改使用react,您可以将 Application.UpdateFormatSettings
更改为 False
。TApplication.Create
中默认为 True
。
但请注意,这并不是对所有设置 100% 安全,因为某些例程会直接获取 ThreadLocale。
关于Delphi:如何重写 ShortDateFormat?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3120812/
在尝试在 XE4 中编译 Log4D 时,我看到 [dcc32 Error] Log4D.pas(2139): E2003 Undeclared identifier: 'ShortDateForma
我意识到 ShortDateFormat 变量代表用户的偏好。 我还意识到,如果设置发生更改,Delphi 将使用用户的设置自动刷新 ShortDateFormat 变量。 mm/dd/yy 我有一位
我通过执行以下操作获取当前格式设置: _FormatSettings := TFormatSettings.Create(GetThreadLocale); 我的系统短日期格式是dd.MM.yyyy
我是一名优秀的程序员,十分优秀!