Re: Date confusion
| From: | Rasmus Lerdorf | Date: | Thu, 28 Jul 2005 03:38:01 +0000 |
| Subject: | Re: Date confusion | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-219464@lists.php.net to get a copy of this message | ||
Linda H wrote:
> Hi,
>
> I must admit I am surprised at the paucity of date and time functions in
> PHP.
>
> I have a date stored in a MySQL database in field of datatype date. PHP
> doesn't seem to have a function I can use to format it for print. I
> tried the following but regardless of the value in the date field, it
> displays as 'Wednesday December 31, 1969' (I know this is the day
> before the UNIX epoch.).
>
> echo '<p>'.date('l F j, Y',$start_date).'</p>';
>
> I tried casting the field to datetime, but it didn't pass the parser.
> Finally I did the following, which seems to work, but is awfully
> convoluted:
>
> echo '<p>Date: '.date('l F j,
> Y',strtotime($start_date).'</p>';
>
> The other thing I'm concerned about is that strtotime takes the locale
> into consideration. I don't want it adjusting the date - I just want it
> printed out.
>
> Is there a better way to do this?
If you have it in MySQL, there are a bunch of native MySQL functions to
format it on the select itself. See http://mysql.com/datetime
Or, if you want to manipulate it using PHP's functions, get MySQL to
return it to you as a UNIX timestamp.
-Rasmus