我的 Access 2007 表中有一个格式为“m/d/yyyy hh:mi:ss”的文本列,即 1-2 位数月份 1-2 位数日期 4 位数年份和“美国”日期格式。本地日期格式为 dd/mm/yyyy。
我想将这些日期转换为日期/时间字段,以便对它们进行排序,但是当我使用 CDate 运行更新查询时,它对月份和日期的处理不一致。天数 > 12 可以,因为日期是明确的,但它会将 8 月 1 日(2011 年 8 月 1 日)转换为 1 月 8 日...
我无权更改我的语言环境 - 如果您可以暂时这样做,这可能是一种创可贴。
我可以通过对 Left、Right、Mid、InStr 等进行大量工作来“强制”转换,但由于 1-2 位数的日期和月份,这比应有的工作量要多得多。
我想要(但找不到)是在 Borland Delphi/Pascal 中 StrToDate 的 VB 等效项,您可以在其中传递日期字符串和一个格式字符串,该字符串告诉转换每个数字代表什么。
在 Delphi 中,这很简单:-
MyDate:= StrToDate(MyAmericanFormattedDate,'d/m/yyyy hh24:mi:ss');
有VB等价物吗?