1
最近我一直有问题,最近有日期转换。我的应用程序运行的某些工作站不能正确地将字符串转换为日期。VarToDateTime(VarDateFromStr)使用哪种日期格式?
我将问题追溯到VarDateFromStr,该问题似乎未检查LOCALE_SSHORTDATE以进行转换。我想知道是否有人知道它检查转换的内容。或者,不同的行为仅与不同的DLL版本相关联?
GetLocaleStr(GetThreadLocale, LOCALE_SSHORTDATE, 'm/d/yy'); // returns 'dd-MM-yyyy'
FormatDateTime('dd-MM-yyyy', VarToDateTime('05-11-2010')); //returns '11-05-2010'
编辑: 我已经告诉改变从 'DD-MM-YYYY' 短日期格式(控制面板),以任何和回 'DD-MM-YYYY' 固定问题。我仍然需要验证这一点。编辑2:Kindda忘了提,这个问题只在WinXP SP3上得到确认。
自从我摔倒之后,我只会补充一点。请务必设置日期分隔符。否则,你会在荷兰和其他各个国家堕落。 – mj2008 2010-11-01 15:57:30
mj2008,好点。 – RRUZ 2010-11-01 16:02:58
那么,VAR_LOCALE_USER_DEFAULT的ShortDateFormat也是'dd-MM-yyyy'。并且这些问题不仅来自我的代码,而且来自DevExpress,TClientDataset,InfoPower ... – 2010-11-01 16:48:40