【发布时间】:2012-01-09 10:03:48
【问题描述】:
我需要制作一个独立于区域设置的应用程序(D2006),最重要的是所有日期格式必须相同。
一开始我想用 FormatDateTime('aConstantDefined') 替换所有 FormatDateTime('adateformate')。还 Application.UpdateFormatSettings 和 Application.UpdateMetricSettings 应设置为 False。
还有什么我应该采取/改变的吗?
LE:问题是我有两个不同区域设置的用户,他们不想统一他们的设置。我知道这听起来很奇怪,但事实就是这样。所以,这就是我需要让我的应用程序完全独立于区域设置的原因。
【问题讨论】:
-
就是这样,但是为什么要忽略区域设置呢?这对您的用户不太友好?
-
“独立于区域设置”,你的意思是说你想忽略本地系统日期/时间/小数分隔符?
-
@all - 阅读我的 LE。谢谢。
-
我理解,但是:他们的意愿是完全合法的,您不应忽略他们选择的设置,尤其是用户界面中的设置。因此,您实际上应该将 FormatDateTime 与“标准”设置字符串之一一起使用(如“dddddd”以获取长日期字符串)。换一种方式(从字符串到日期),您应该使用 StrToDate 函数,该函数可以采用特定格式并将区域设置指定的格式提供给它。
-
我认为您以错误的方式看待这个问题。用户有充分的理由希望使用他们所在地区的典型地区设置。您需要做的是尊重这些设置。您可以通过以您定义的单一格式存储数据来实现此目的。当您需要显示输出时,使用流行的区域设置将内部格式转换为当前用户希望使用的格式。同样,在接收用户输入时,使用流行的区域设置转换为您的私有内部格式。
标签: delphi delphi-2006