当系统区域设置设置为Cenz Republic时,我正在尝试获取正确的DateSeparator
。当前日期的格式为9.3.2017
,但DateSeparator
始终为'/'
而非'.'
。我该怎么做才能得到正确的日期分隔符?
答案 0 :(得分:1)
关于日期陈述,有几个独立的全局变量影响输出。你提到其中两个:
`DateSeparator: Char;` (initialized from registry with reference `LOCALE_SDATE`)
`ShortDateFormat: string;` (initialized from registry with reference `LOCALE_SSHORTDATE`)
您可以在文档中或单元SysUtils
中的代码中看到的其他内容从第490行开始(在Delphi 7中,在Delphi 5中可能有所不同)。
由于DateSeparator
和ShortDateFormat
是单独的变量,因此您可能会根据您的区域设置正确显示日期,而DateSeparator
则会返回错误的字符。
要纠正,您可以在代码中自己为DateSeparator
分配正确的字符,但要注意使用第三方库,那些可能也想要更改它。