[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]
{
Here's another Unit from me, This time it's a
Unix to DelphiTimeDate and ViceVersa Conversion Routines...
Andre Jakobs
MicroBrain Technologies Inc.
The Netherlands
unit U_DateTime;
{
written by Andre Jakobs from MicroBrain Technologies Inc.
This Unit Converts UNIX timestamps and Delphi timestamps
Unix stores the TimeDate in a four byte long-integer(DoubleWord), As
the number of seconds since 1-januari-1970 0:0:0 .....
Delphi stores the TimeDate in TDateTime (a Float), where the integer
part of TDateTime type is the Number of days since 1-januari-0001 0:0:0
and the floating-point part the fractional Part of the day}
interface
const
UnixStartDate : tdatetime = 719163.0;
function DelphiDateTimeToUnix(ConvDate:TdateTime):longint;
function UnixToDelphiDateTime(USec:longint):TDateTime;
implementation
(*-----------------------------------------------------------*)
(* D e l p h i D a t e T i m e T o U N I X *)
(*-----------------------------------------------------------*)
function DelphiDateTimeToUnix(ConvDate:TdateTime):longint;
{Converts Delphi TDateTime to Unix seconds,
ConvDate = the Date and Time that you want to convert
example: UnixSeconds:=DelphiDateTimeToUnix(Now);}
begin
Result:=round((ConvDate-UnixStartDate)*86400);
end;
(*-----------------------------------------------------------*)
(* U N I X T o D e l p h i D a t e T i m e *)
(*-----------------------------------------------------------*)
function UnixToDelphiDateTime(USec:longint):TDateTime;
{Converts Unix seconds to Delphi TDateTime,
USec = the Unix Date Time that you want to convert
example: DelphiTimeDate:=UnixToDelphiTimeDate(693596);}
begin
Result:=(Usec/86400)+UnixStartDate;
end;
end.
[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]