v5:reference:connection:offsetdate
This is an old revision of the document!
offsetDate
Syntax
string offsetDate( string $offset optional float $baseDate )
Description
The function offsetDate()
returns a string with the native SQL functions to calculate future and past dates based on $baseDate
in a portable fashion. If $baseDate
is not defined, then the current date (at 12 midnight) is used. Returns the SQL string that performs the calculation when passed to Execute()
. The value returned when the statement is execute is an ISO Date
Inputs
The $offset parameter can be presented in 2 ways:
- As a decimal indicating the number of days where the decimal portion is the fraction of a day (e.g. 0.5 = 12 hours)
- As string in the format “float/24” where the floating point number is the number of hours
Example
In Oracle, to find the date and time that is 2.5 days from today, you can use:
/* * get date one week from now */ $fld = $conn->OffsetDate(7); /* * returns "(trunc(sysdate)+7") */ /*=== * get date and time that is 60 hours from current date and time */ $fld = $conn->OffsetDate("60/24", $conn->sysTimeStamp); /* * returns "(sysdate+2.5)" */ $conn->Execute("UPDATE TABLE SET dodate=$fld WHERE ID=$id");
Example Using SQL Server
/* * Get Date -273.5 Hours in the past */ $fld = $db->offsetDate(-273.5/24); /* * Returns " SELECT FORMAT(DATEADD(hour ,-273.5,GETDATE()), 'yyyy-MM-dd')" */
v5/reference/connection/offsetdate.1752284691.txt.gz · Last modified: by mnewnham