我有一个 CSV 文件,其日期格式为“2021/04/25 12:47:54 pm GMT+8”,存储在字符串中。我目前使用以下代码在 C++ Builder 11 中转换日期字段,没有任何问题。
TFormatSettings FSG;
TDateTime CsvDate;
FSG.DateSeparator = '/';
FSG.ShortDateFormat = "yyyy/mm/dd";
FSG.LongTimeFormat = "h:nn:ss";
FSG.TimeSeparator = ':';
CsvDate = StrToDateTime(GoogleValue, FSG);
然而,c++ Builder 12 似乎已经改变了一些东西,现在时间没有转换,当调用 StrToDateTime 时我得到一个异常。有人可以告诉我发生了什么变化,以便我可以再次使用它。
例外是:
First chance exception at $766698B2. Exception class EConvertError with message
''2024/01/17 10:40:45 pm GMT+8' is not a valid date and time'.
Process MyApp.exe (26032)
我尝试添加
TFormatSettings FSG = TFormatSettings::Create("en-AU");
和
TFormatSettings FSG = TFormatSettings::Create();
这些都无助于消除异常。