sqlDate

Syntax
string sqlDate(
                string $dateFormat,
       optional string $dateColumn
       )

Description

When the function sqlDate() is passed a string based on SQL date/time formats, it returns a database-independent date string, either using the system date, or if passed a string containing a datetime column in a table, a string derived from that column.

Supported Formats

The following column formats are supported across all databases. Other formats may be supported by certain databases but you should check them for portability. The codes used are based loosely on date formatting for Oracle databases.

Dates

CodeDescription
Y,y4 Digit Year
MMonth of year as a 3 character abbreviation (Jan,Feb etc…)
mMonth of year as a 2 digit number 01-12
D,dDay of month as a 2 digit number 01-31

Times

CodeDescription
HHour of day in 24 Hour clock format 00-24
hHour of day in 12 Hour clock format 00-12
iMinute of hour 00-59
A,aAM/PM , use with h hour format

Other Periods

CodeDescription
Q,qYearly Quarter
wDay of week as 1 digit number
WWeek of the year as a number (1-52)
lDay of week as full word (Monday, Tuesday, etc)

Day of week code (w) is not consistently implemented across DB drivers, as the library relies on database-specific functions, e.g.

For a portable result, see the dow() method.

Usage

/*
 * Assumes connection to oracle database
 */
$dateString  = $db->sqlDate('Y-m-d')
/*
 * Returns: TO_CHAR(SYSDATE,'YYYY-MM-DD');
 */
 
$dateString = $db->sqlDate('m/d/y','trousers.purchase_date');
/*
 * Returns: TO_CHAR(trousers.purchase_date,'MM/DD/YYYY')
 */