如果以前曾问过这个问题,请为我指出正确的方向。我似乎无法用我的谷歌搜索技能找到任何有用的东西。
我有以下代码,它读取这样的字符串;停电开始日期: 05/10/11 23:59 EST
并提取日期信息,即 05/10/11 23:59
sStartTime = Mid(objItem.Body, 18, 15) ' Extract the start time
Debug.Print "sStartTime after reading: " & sStartTime
sStartTime = Format(sStartTime, "dd/mm/yy hh:mm") ' Format date correctly
Debug.Print "sStartTime after formatting: " & sStartTime
这是我通常得到的输出:
sStartTime after reading: 05/10/11 23:59
sStartTime after formatting: 10/05/11 23:59
但有时它甚至会交换日期和年份:
sStartTime after reading: 14/07/11 23:59
sStartTime after formatting: 11/07/14 23:59
然后 CDate 完全填充了一些东西,将日期转换为 1931 年之类的东西......任何将日期字符串转换为日期对象的帮助都将不胜感激。
===============
编辑:可能应该在最初的帖子中提到这一点。读取字符串背后的想法是转换为 Date 对象,以便我可以创建日历约会。
目前我用这个;
dStartTime = CDate(sStartTime)
我认为这是问题所在, sStartTime = "29/09/11 23:00" (dd/mm/yy hh:mm) 和 dStartTime = "11/9/2029 11:00:00 PM"
很明显,那里存在一些转换问题,但我不知道我应该将什么格式提供给 CDate 函数才能转换
29/09/11 23:00 进入等效日期对象。