//获取13或10位时间戳 时区固定了 好像有问题 function Gettamptime(vlen: Integer): string; var timen, time2: TDateTime; ss2, ss3: Int64; begin timen := now; time2 := EncodeDateTime(1970, 1, 1, 0, 0, 0, 0); ss2 := 28800000; ss3 := MilliSecondsBetween(timen, time2); ss3 := ss3 - ss2; Result := InttoStr(ss3); if vlen = 13 then Result := Result else if vlen = 10 then Result := Copy(Result, 1, 10); end; ///////////////标准正确的////////////////////// function Gettamptime2(vlen: Integer): string; var ss: string; begin if vlen = 13 then begin ss := DateTimeToTimeStamp(now).time .ToString; Result := IntToStr(DateTimeToUnix(Now,false)) + Copy(ss,Length(ss) - 2,Length(ss) ); end else if vlen = 10 then begin Result := IntToStr(DateTimeToUnix(Now,false)); end end; //转位普通时间 function gettamptotime(vtamp: string): string; //1582688206607 var ls10,lms: string; begin if Length(vtamp) = 10 then Result := FormatDateTime('yyyy-MM-dd hh:mm:ss',UnixToDateTime(StrToInt64(vtamp),false)) else if Length(vtamp) = 13 then begin ls10 := Copy(vtamp,1,10); lms := Copy(vtamp,11,13); Result := FormatDateTime('yyyy-MM-dd hh:mm:ss',UnixToDateTime(StrToInt64(ls10),false)); Result := Result +'.' + lms; end; end;
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论