Delphi XE5中的DateTimeToString不';不行?
我有一小段代码:Delphi XE5中的DateTimeToString不';不行?,delphi,delphi-xe5,Delphi,Delphi Xe5,我有一小段代码: DateTimeToString(DiffString, 't.zzz', TDT); ShowMessage('TDT: ' + DateTimeToStr(TDT)); ShowMessage('DiffString: ' + DiffString); 第一条ShowMessage的哪个结果给出了随机的nice DateTime TDT值。。。 第二个,其中DiffString为00:00.000 有人可以在其他IDE中检查它吗?事实上,DateTim
DateTimeToString(DiffString, 't.zzz', TDT);
ShowMessage('TDT: ' + DateTimeToStr(TDT));
ShowMessage('DiffString: ' + DiffString);
第一条ShowMessage的哪个结果给出了随机的nice DateTime TDT值。。。
第二个,其中DiffString为00:00.000
有人可以在其他IDE中检查它吗?事实上,
DateTimeToString
工作正常,性能完全符合设计要求。它正在做你要求它做的事情
以下是您应该提供的SSCCE:
{$APPTYPE CONSOLE}
uses
SysUtils;
var
DiffString: string;
TDT: TDateTime;
begin
TDT := Date;
DateTimeToString(DiffString, 't.zzz', TDT);
Writeln('TDT: ' + DateTimeToStr(TDT));
Writeln('DiffString: ' + DiffString);
end.
输出:
TDT: 04/02/2014
DiffString: 00:00.000
输出
TDT: 04/02/2014 11:16:43
DiffString: 11:16.942
TDT:04/02/2014 11:16:43
DiffString:11:16.942
当然,
t.zzz
是一种糟糕的格式选择。它将短时格式与毫秒相结合。如您所见,在我的机器上,默认的短时格式忽略秒。所以你可以得到小时,分钟和毫秒。您需要重新考虑您的格式字符串。也许'hh:nn:ss.zzz'
正是您所需要的。事实上DateTimeToString
工作正常,性能完全符合设计要求。它正在做你要求它做的事情
以下是您应该提供的SSCCE:
{$APPTYPE CONSOLE}
uses
SysUtils;
var
DiffString: string;
TDT: TDateTime;
begin
TDT := Date;
DateTimeToString(DiffString, 't.zzz', TDT);
Writeln('TDT: ' + DateTimeToStr(TDT));
Writeln('DiffString: ' + DiffString);
end.
输出:
TDT: 04/02/2014
DiffString: 00:00.000
输出
TDT: 04/02/2014 11:16:43
DiffString: 11:16.942
TDT:04/02/2014 11:16:43
DiffString:11:16.942
当然,
t.zzz
是一种糟糕的格式选择。它将短时格式与毫秒相结合。如您所见,在我的机器上,默认的短时格式忽略秒。所以你可以得到小时,分钟和毫秒。您需要重新考虑您的格式字符串。也许您需要的是'hh:nn:ss.zzz'
。随机内存/未初始化变量不是随机日期时间值。从某处获取合适的日期时间,并对其进行测试。随机内存/未初始化变量不是随机日期时间值。从某处获取一个合适的日期时间,并对其进行测试。我总是建议:ISO8601时间'yyyy-mm-dd“T”hh:nn:ss,zzzzzz“Z”
在UTC+0或使用TimeZoneBias
我总是建议:ISO8601时间'yyyy-mm-dd“T”hh:nn:ss,zzzzzzzz“Z”
在UTC+0或使用TimeZoneBias