Funkcia na konverziu z TDateTime na linuxový čas.

function TimeStampHumanToUnix(const HumanStamp: tDateTime;
                              UseBias: boolean): cardinal;
var
  iTime: integer;
  hh, mm, ss, ms: word;
  TZI: TTimeZoneInformation;
 
const
  FirstOf1970 = 25569; //[s] since 30.12.1899 to 01.01.1970
  OneDay = 86400;      //in [s]
  OneHour = 3600;      //in [s]
  OneMinute = 60;      //in [s]
 
begin
  Result := 0;
 
  case GetTimeZoneInformation(TZI) of
    $FFFFFFFF: UseBias := False;
  end;
 
  DecodeTime(HumanStamp, hh, mm, ss, ms);
 
  { since 1.1.1970 }
  iTime := (Trunc(HumanStamp) - FirstOf1970) * OneDay;
 
  iTime := iTime + (hh * OneHour);
  if UseBias
  then iTime := iTime + ((mm + TZI.Bias + TZI.DaylightBias) * OneMinute)
  else iTime := iTime + (mm * OneMinute);
  iTime := iTime + ss;
  if iTime < 0 then iTime := 0;
  Result := iTime;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(IntToStr(TimeStampHumanToUnix(Now, true)));
end;