You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 11.3中StrToDateTime解析异常?求可行解决方案

解决Delphi 11.3中StrToDateTime自定义格式解析失效的问题

问题原因

Delphi 11及后续版本对StrToDateTime的格式校验逻辑做了调整,不再允许将日期和时间格式合并写入ShortDateFormat,必须分别指定独立的日期格式与时间格式。

可行解决办法

修改TFormatSettings的配置,拆分日期与时间格式的设置:

  • 将日期部分单独赋值给ShortDateFormat
  • 将时间部分赋值给LongTimeFormat(若时间字符串为短格式如hh:nn,可改用ShortTimeFormat)

调整后的代码示例:

procedure ConvertDate;
var
  lFormatSettings: TFormatSettings;
  lDate: TDateTime;
begin
  lFormatSettings := TFormatSettings.Create();
  lFormatSettings.DateSeparator := '-';
  lFormatSettings.TimeSeparator := ':';
  lFormatSettings.ShortDateFormat := 'yyyy-mm-dd'; // 仅配置日期格式
  lFormatSettings.LongTimeFormat := 'hh:nn:ss';    // 单独配置时间格式

  lDate := StrToDateTime('2023-05-12 12:11:10', lFormatSettings);
end;

内容的提问来源于stack exchange,提问作者kkrajnc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:32:47