开发者

PHP Datetime Error

I am having an issue with php date() function.

When I save the date in mysql datebase the hours shows 4 hours less than my current time.

My php code is 开发者_如何学JAVAbelow: $add_date = date("Y-m-d H:i:s");

It saves the time in database as

2011-08-03 07:51:26

But is should show

2011-08-03 13:22:26

Can anybody tell me how to fix it

Thanks


You have to set a valid time zone - it seems you don't have an appropriate time zone set up in php environment for your location.

Check out

http://www.php.net/manual/en/function.date-default-timezone-set.php

It should give you a clue how to set up the correct time zone in php.


@Mujahid If the printed time and the saved time are the same it probably means your server is not in the same timezone as you. With that said, you have to manually set the default timezone for your PHP script at the top of the file, or get the DateTime by defining your timezone explicitly. Here's the code:

$dateTime = new DateTime("now", new DateTimeZone('America/Los_Angeles'));
$add_date = $dateTime->format("Y-m-d H:i:s");
echo $add_date;

Here's a list of time zones that PHP supports, just find yours and replace America/Los_Angeles with it.

http://php.net/manual/en/timezones.php

Here's a good tutorial on PHP DateTime and DateTimeZone...

http://ditio.net/2008/06/03/php-datetime-and-datetimezone-tutorial/

Hope this helps. Good luck.


Make the time zone setting of the MySQL server and the web server the same.


this will add hosted server time not local time $add_date = date("Y-m-d H:i:s");

use strtotime() to add hours and minutes

$newdate = date("Y-m-d H:i:s",strtotime('+ 5 hours 30 minutes'.$row['db_date']));

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜