1、对接JAVA接口时 时间格式中存在带T的格式 例如 2021-12-23T08:08:08 样式。最开始的处理方式 是 字符串替换 将T替换 '' 例如 sTDate= sTDate.replace('T', ' '),运行时间久了会出现部分时间转换失败问题。决定彻底处理此问题,偷懒不得。
使用 Soap.XSBuiltIns 单元中的 TXSDateTime 类处理
sDate:= '2021-12-23T08:08:08'
XSDateTime:= TXSDateTime.Create;
try
XSDateTime.XSToNative(sDate);
sDate:=FormatDateTime('YYYY-MM-DD HH:mm:ss',XSDateTime.AsUTCDateTime);
clientDataset.FieldValues['APPLY_TIME'] := XSDateTime.AsDateTime;
Trace('时间:'+sDate);
finally
XSDateTime.Free;
end;
TXSDateTime 存在两个属性
AsUTCDateTime: 输出 2021-12-23 08:08:08
AsDateTime: 输出 2021-12-23 16:08:08 时间增加 8小时