时间变量转字符串
这个比较简单,直接调用SysUtils单元中的FormatDateTime进行转换即可
FormatDateTime('yyyy-mm-dd hh:mm:ss', _payTime);
Pascal字符串转时间变量
一般来说,我们常用SysUtils单元中的StrToDatetime进行转换
Result := StrToDatetime('2000-01-01 00:00:00');
Pascal但这种调用方式会受到操作系统日期时间格式的影响,很可能会报错; 正确的方法应该如下:
//根据日期格式
function StrToDatetimeEx(_Time:string; _format:byte):TDateTime;
var
sTime : string;
settings: TFormatSettings;
begin
try
settings.DateSeparator := '-';
settings.TimeSeparator := ':';
settings.ShortDateFormat := 'yyyy-mm-dd';
settings.LongTimeFormat := 'hh:nn:ss';
sTime := Trim(_Time);
if sTime = '' then
begin
Result := StrToDatetime('2000-01-01 00:00:00', settings);
Exit;
end;
Result := StrToDatetime(sTime, settings);
except
on E:Exception do
begin
Result := StrToDatetime('2000-01-01 00:00:00', settings);
end;
end;
end;
Pascal这样才能避免系统格式对转换过程的影响。