gpt4 book ai didi

delphi - 根据任意格式将字符串转换为 TDateTime

转载 作者:行者123 更新时间:2023-12-03 14:34:09 33 4
gpt4 key购买 nike

Delphi 5 中是否有任何方法可以将字符串转换为 TDateTime,您可以在其中指定要使用的实际格式?

我正在开发一个作业处理器,它接受来自各个工作站的任务。这些任务有一系列参数,其中一些是日期,但(不幸的是,并且不受我的控制)它们作为字符串传递。由于作业可能来自不同的工作站,因此用于将日期格式化为字符串的实际日期时间格式可能(当然,实际的do)有所不同。

谷歌搜索后,我找到的唯一快速解决方案是偷偷地更改 ShortDateFormat 变量,然后将其恢复为原始值。由于 ShortDateFormat 是一个全局变量,并且我在线程环境中工作,因此唯一可行的方法是同步对它的每次访问,这是完全 Not Acceptable (且不可撤销)。

我可以将库代码从 SysUtils 单元复制到我自己的方法中,并调整它们以使用指定的格式而不是全局变量,但我只是想知道是否还有更多内容我错过了足够多的东西。

更新

更简洁地说:

我需要类似 StrToDate (或 StrToDateTime)的东西,并添加指定用于将字符串转换为 TDateTime 的确切格式的选项。

最佳答案

改用 VarToDateTime。它支持字符串中更多的日期格式并自动转换它们。

var
DateVal: TDateTime;
begin
DateVal := VarToDateTime('23 Sep 2010');
ShowMessage(DateToStr(DateVal));
end;

我看到您正在使用Delphi 5。某些版本的Delphi 需要将Variants 添加到uses 子句中;大多数更高版本都会为您添加它。我不记得 Delphi 5 属于哪一类。

关于delphi - 根据任意格式将字符串转换为 TDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3786823/

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