سلام !
خسته نباشید ! :31:
یه سوال :11:
چطوری میشه به یک متغیر زمان یک مقدار زمانی رو اضافه کرد !!؟
مثلا یک ساعت گرینویچ دارم می خوام به تهران تبدیل کنم یعنی به علاوه 3:30 کنم
[PHP]
$time = date("H:i:s");
[/PHP]
مثلاً اینه ! ^^^^
ممنون
Printable View
سلام !
خسته نباشید ! :31:
یه سوال :11:
چطوری میشه به یک متغیر زمان یک مقدار زمانی رو اضافه کرد !!؟
مثلا یک ساعت گرینویچ دارم می خوام به تهران تبدیل کنم یعنی به علاوه 3:30 کنم
[PHP]
$time = date("H:i:s");
[/PHP]
مثلاً اینه ! ^^^^
ممنون
اگر برای تغییر timezone بخوای که اصلاً تابع جدا داره برا خودش!
میتونی از این تابع برای تغییر ساعت زمانی به GMT+3.5 استفاده کنی:
[php]
date_default_timezone_set("Asia/Tehran");
[/php]
اینجوری هم میتونی یه زمانی رو برحسب ثانیه به زمان دیگه اضافه کنی بعد تبدیل کنی به فرمت مورد نظرت:
[PHP]
date("H:i:s", (time()+3600*3+1800));
[/PHP]
این 3 ساعت و نیم جلو میکشه ساعت رو
آره این مدلی هم میشهنقل قول:
اما اگر لازم باشه که تاریخهای ذخیره شده با جند تا منطقه زمانی نمایش داده بشه یا یا اینکه منطقه زمانی سایت به کل عوض بشه اونوقت فقط زمان ایران رو درست نشون میده!
خیلی ممنون !
من می خوام از تو دیتابیس این اطلاعات رو در بیارم ... اینجوری باید چی کار کنم !؟؟
یه ساعت دارم توی فیلد time به زمان GMT که قالبش اینه : H:i:s
من می خوام اونو بخونم بعد تبدیلش کنم ...
[PHP]
date_default_timezone_set("Asia/Tehran");
date("H:i:s", (time()+3600*3+1800));
[/PHP]
اینطوری فقط مثل اینکه با زمان حال میشه این کار رو کرد !!
این کاریه که من میکنم:
همه تاریخهارو بر اساس تمبر زمانی یونیکس ذخیره میکنم. حالا یا با استفاده از ()time در php یا با ()UNIX_TIMESTAMP در mysql!
بعد موقع نمایش منطقه زمانی رو با date_default_timezone_set تنظیم میکنم و موقع استفاده زمان ذخیره شده رو به عنوان پارامتر دوم تابع date قرار میدم و با هر فرمتی که بخوام نشون میدم
[PHP]
date_default_timezone_get("Asia/Tehran");
$PostTime = date("g:i", strtotime($R['time']));
[/PHP]
نمیشه !!
توی دیتابیــس ساعت 5:30 ذخیره شده ... باید بزنه 9 ولی هنوز می نویسه 5:30
ظاهراً فرمتی که ذخیره شده مناسب نیست!
چطوری تو دیتابیس ذخیره شده؟
توی دیتابیس قالبش TIME ـــه
اینجوریه ... فکر کنم استاندارد باشه آخه توی پی اچ پی ما ادمین Type/Time بودش منم انتخاب کردم !!!
00:00:00
من اینو تست کردم ظاهراً مشکلی نداره:
[php]
$str = "05:30:00";
echo "unix timestamp is: ", $time = strtotime($str), "\n";
echo "before setting timezone: " . date('r', $time) . "\n";
date_default_timezone_set("Asia/Tehran");
echo "after setting timezone: " . date('r', $time);
[/php]
نتیجه ای هم که ازش میگیرم اینه:
کد:unix timestamp is: 1245907800
before setting timezone: Thu, 25 Jun 2009 05:30:00 +0000
after setting timezone: Thu, 25 Jun 2009 10:00:00 +0430