我正在寻找一种方法将字符串转换为VBA中的日期数据类型。我可以使用CDate()函数实现此目的,但它使用自己的隐式算法来解析字符串,我想指定自己的格式来区分“DD/MM/YY”和“MM/DD/YY” , 例如。VBA:从特定格式的字符串读取日期
请注意,与Visual Basic不同,VBA没有DateTime.TryParseExact函数。
ADD:由于一些答案的建议,我可以写我自己的解析器。如果没有内置的解决方案,这将是我的选择。
我正在寻找一种方法将字符串转换为VBA中的日期数据类型。我可以使用CDate()函数实现此目的,但它使用自己的隐式算法来解析字符串,我想指定自己的格式来区分“DD/MM/YY”和“MM/DD/YY” , 例如。VBA:从特定格式的字符串读取日期
请注意,与Visual Basic不同,VBA没有DateTime.TryParseExact函数。
ADD:由于一些答案的建议,我可以写我自己的解析器。如果没有内置的解决方案,这将是我的选择。
做这样的事情......
strDate = Split(strDate,"/")
newstrDate = strDate(1) & "/" & strDate(0) & "/" & strDate(2)
strDate = CDate(newstrDate)
在这种情况下我会避免CDATE产品总数,而是分裂日期字符串到年,月,日和使用DateSerial(年,月,日)。这样你可以完全控制。
假设你的意思是'CVDate()'你没有得到更多的选择。 – braX
您可以发布字符串的格式 –
@braX,Microsoft:CVDate与CDate相同,但其返回值的声明类型除外。我使用CDate来获取Date变量。 – AlexVB