|
前几天的时候,用QTP别一个AX日期控件对象的时候
不知道是对象的关系还是QTP的关系不可以用SET方法来设置值,只可以用SETdate来设置,
而且格式只有d-M-yyyy,如"7-Mar-2007"
而日期只有2007-3-7 yyyy-m-d,
先是有FormatDateTime,cdate(vbs没format)来转换,我用的是简体中文系统,所以无果
看来只好自己做,如果自己做的话就要拼字符串,日-短英月-长年,日和年可以用day和year取出来
月的话就要写select来做吗?,我发现短英月就是英文月份的前3个字符,这样的话,我就只要取出一个英文月份名就可以了,
如何取出英文月份名呢,我想了,日期格式是和区域设置有关,幸好vbs中有GetLocale和SetLocale,我就方便了,这样我先设置美国英文"en-gb",得到"07 March 2007"(dd MM yyyy),看来月份是有了,不过这个在中间,不太方便我就是试了试别的英语国家,终于在加拿大"en-ca"中有了"March 07, 2007" 这样我就只要取左3个字符了.
Function MyCdate(oDate)
currentLocale = GetLocale
original = SetLocale("en-ca")
mon=left(cstr(FormatDateTime(oDate,1)),3)
original = SetLocale(currentLocale)
MyCdate=cstr(day(odate))+"-"+mon+"-"+cstr(year(odate))
End Function |
|