将TValue转换为TDateTime

3

我该如何将TValue转换为TDateTime?

我看到有像AsInteger、AsDouble等方法,但没有针对TDateTime的方法。

var
  c : TRttiContext;
  t : TRttiType;
  f : TRttiField;
  fieldValue : TValue;
  fieldDateValue : TDateTime;
begin
  c := TRttiContext.Create;
    t := c.GetType(Self.ClassType);
    for f in t.GetFields do begin
      fieldValue := field.GetValue(Self);
      //convert the TValue in TDateTime
    end;
end;

1
fieldValue.AsType<TDateTime> - TLama
1
请不要在问题的文本和标题中反复添加“在Delphi中”的字样。delphi标签已经让大家知道你的问题是关于Delphi的,不需要在各个地方重复添加。标签在这里非常有效,既可以让能够回答问题的人看到你的问题,也可以正确分类以便搜索;它不需要重复的帮助。:-) 谢谢。 - Ken White
1个回答

6

具体的AsXXX方法(如AsInteger)只是一些内在类型的快捷方式(有些也实现了特定类型的优化)。 但是要从TValue获取任何类型,您可以使用AsType<T>方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接