【发布时间】:2014-07-31 06:29:45
【问题描述】:
考虑以下日期条目。我想要输入字符串和输出字符串的 DD/MM/YYYY 格式
<cfset SetLocale('indonesian') /> <!--- also set in Railo Admin --->
<cfdump var="#GetLocale()#" />
<cfdump var="#LSDateFormat('01/07/2014', 'dd/mm/yyy')#" />
<cfdump var="#LSDateFormat('31/07/2014', 'dd/mm/yyy')#" />
<cfdump var="#LSDateFormat(Now())#" />
输出:
string in <--- correct for 'indonesian'?
string 07/01/2014 <--- wrong
string 31/07/2014 <--- correct... maybe
string 31/07/2014 <--- correct... maybe
印度尼西亚使用 DD/MM/YYYY 格式,但 Railo 似乎将日期输入字符串视为美国日期,除非它“无效”(美国月份高于 12)。
操作系统区域设置为:LC_TIME="en_AU.UTF-8"(澳大利亚)。此语言环境也使用DD/MM/YYYY
因此,鉴于我看不到任何内容指定美国日期格式,并且我正在使用函数的 LS 变体,为什么我的日期输入字符串被解释为美国日期?
实际上,我真的不喜欢根据 MM 值更改语言环境的 DD/MM。我正在寻找一个实际验证日期也是DD/MM/YYYY 的答案(最好使用内置的东西而不是UDF)。
【问题讨论】: