【发布时间】:2014-02-18 11:31:14
【问题描述】:
我会尽量让问题尽可能简单。
我如何将系统日期转换为我想要的格式,并且仍然将其保留为日期而不是字符串。 或者我如何获取系统的日期格式,以相应地调整我的日期。
当我打电话时
FormatShortdateTime('d/M/yyyy',Date);
我得到正确的日期作为字符串,但无法将其转换回 Tdate 并使用它,然后它与系统日期设置冲突。
如果我能得到系统短日期格式,问题就解决了。
【问题讨论】:
-
可以通过
FormatSettings变量访问,所以写成FormatSettings.ShortDateFormat := ...。此外,根据本地设置更改全局配置解决了哪些问题?我想可能有一个解决方案而不是解决方法。 -
这听起来不像是解决任何问题的方法
-
@TLama 我试过 FormatSettings.ShortDateFormat:='d/M/yyyy';比较日期时仍然出现错误:“18/2/2014”不是有效日期。我比较了很多不同的日期格式,基本上可以是任何格式,希望我的软件基本上将所有日期转换为 1 种常量格式。最好不要更改系统日期,但如有必要我会更改系统日期格式
-
最好是声明一个保存全局格式设置的变量并将此格式传递给所有格式化函数。但是,我无法解释您为什么“遇到错误”,至少因为我不知道上下文也不知道您遇到的错误。
-
问题是我的系统日期,它是 d-M-yyyy。所以 datetostr 和 strtodate 不断报错