> I'm experienced with SQL, but new to MySql and PHP, which I'm using
> together to create a dynamic web site. Right now, I'm having minor
> difficulties with date formatting. It seems that when I retrieve a
> from MySQL into PHP, it shows up as a string instead of a date data
> type, with format YYYY-MM-DD HH:MM:SS. Is there any way that I can
> it returned as a PHP date instead? Also, exactly what is it that
> controls the output format of the date as a string? Is PHP somehow
> requesting that MySql return the date as a string, or is it getting a
> date from MySql and then converting it to a string on the PHP side?
> What's the best way of controlling date format? Obviously, I could
> string operators to extract the year, month, and day and do whatever I
> want to with them, but that's sensitive to how PHP and/or MySql are
> configured, I assume; it would be better for me to request the date in
> specific form (ideally one taken from operating system preferences).
A couple different ways you can handle this. To format the timestamp
from YYYY-MM-DD HH:MM:SS to something else, you can use the
DATE_FORMAT() function within your SQL. It works almost exactly like the
date() function in PHP.
If you want to get the output from MySQL as an integer, you can use
SELECT column+0 which will return the timestamp in a YYYYMMDDHHMMSS
If you want a Unix timestamp, which is compatible with the date()
function in PHP, then use the UNIX_TIMESTAMP() function in your SQL.
You could also use the strtotime() function in PHP to take the MySQL
timestamp and convert it to a Unix timestamp.
---John W. Holmes...
PHP Architect - A monthly magazine for PHP Professionals. Get your copy
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php