gpt4 book ai didi

delphi日期时间格式错误

转载 作者:行者123 更新时间:2023-12-02 13:48:47 25 4
gpt4 key购买 nike

德尔福。我需要将日期时间字符串转换为 TDateTime 类型。我使用的代码:

...
var
fs : TFormatSettings;
dt: TDateTime;
begin
fs := TFormatSettings.Create;
fs.DateSeparator := '-';
fs.TimeSeparator := ':';
fs.ShortDateFormat := 'dd-mmm-yy';
fs.ShortTimeFormat := 'hh:nn:ss';
dt := StrToDateTime(Timestamp, fs);
...

字符串是这样的:Timestamp := '26-Feb-16 08:30:00'

我只收到转换错误消息

EConvertError, '26-Feb-16 08:30:28' is not a valid date and time

如果我手动输入格式为 'yyyy/mm/dd hh:nn:ss' 的时间戳并设置 ShortDateFormat := 'yyyy/mm/dd';和 ShortTimeFormat := 'hh:nn:ss';我没有任何问题...

我不知道我错过了什么?有人知道吗?

最佳答案

StrToDateTime 不支持将月份指定为名称的格式(无论是短格式还是长格式)。

您必须使用其他方法来解析文本。坦率地说,这种格式非常容易解析。

  1. 根据空格字符拆分输入以获取日期和时间部分。
  2. 拆分 - 上的日期部分以获得日、月和年部分。搜索 12 个短月份名称以查找匹配项。
  3. 拆分 : 上的时间部分以查找小时、分钟和秒。或者使用StrToTime

或者您可以接受输入并将短月份名称替换为月份数字,并使用 StrToDateTimemm 月份格式。

关于delphi日期时间格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35698993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com