如何在 Delphi Rio 上设置日期格式 - 未声明的标识符:'shortdateformat' [重复]

Posted

技术标签:

【中文标题】如何在 Delphi Rio 上设置日期格式 - 未声明的标识符:\'shortdateformat\' [重复]【英文标题】:How to set date format on Delphi Rio - Undeclared identifier: 'shortdateformat' [duplicate]如何在 Delphi Rio 上设置日期格式 - 未声明的标识符:'shortdateformat' [重复] 【发布时间】:2020-05-27 11:33:00 【问题描述】:

我从 Delphi 2007 来到 Delphi 10.3.3 。

在 D2007 中,我使用以下命令来确保应用程序以所需格式处理日期:

shortdateformat := 'dd/mm/yyyy';
dateseparator := '/';

现在相同的命令会在 D10.3.3 上失败,并出现以下错误:

[dcc32 Error] : E2003 Undeclared identifier: 'shortdateformat'

如何在新的 Delphi 上做同样的事情?

谢谢

【问题讨论】:

有用的提示。将错误消息文本粘贴到您首选的网络搜索的搜索字段中。 感谢您的提示和我的问题的减分点,像往常一样:-D 【参考方案1】:

我刚刚了解到我需要使用这些命令:

FormatSettings.shortdateformat := 'dd/mm/yyyy';
FormatSettings.dateseparator := '/'; 

【讨论】:

与其使用全局变量FormatSettings,不如将​​局部变量TFormatSettings 传递给您使用的任何格式化函数,例如:var fmt: TFormatSettings; fmt := TFormatSettings.Create; fmt.ShortDateFormat := 'dd/mm/yyyy'; fmt.DateSeparator := '/'; <FunctionName>(..., fmt); 全局变量不是线程-safe,这就是为什么首先引入TFormatSettings

以上是关于如何在 Delphi Rio 上设置日期格式 - 未声明的标识符:'shortdateformat' [重复]的主要内容,如果未能解决你的问题,请参考以下文章

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

Delphi获取与设置系统时间格式,即GetLocaleInfo和SetLocaleInfo

Delphi Rio 中的 TRESTClient 可以在 Windows XP 中工作吗?

Delphi 设置时间格式

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

如何在 java 上设置日期的 24 小时格式?