PDA

View Full Version : سوال: ساعت



ravand
چهارشنبه 17 اسفند 1390, 13:03 عصر
به اين كد نگاه كنيد:

<?php
echo date('h:i:s');
?>
الان مثلا ساعت 1:20 دقيقه است ولي اين كد مي نويسه : 08:50:10
بايد چجوري اين مشكل رو حل كرد؟
متشكرم.

MMSHFE
چهارشنبه 17 اسفند 1390, 13:11 عصر
<?php
date_default_timezone_set('Asia/Tehran');
echo date('h:i:s');
?>

زمان پیشفرض در PHP برروی GMT (ساعت گرینویچ) تنظیم شده که ساعت تهران 3:30+ باهاش اختلاف داره.
موفق باشید.

idocsidocs
چهارشنبه 17 اسفند 1390, 13:44 عصر
تابع date_default_timezone_set یه تابع سراسریه؟ یعنی اگر توی یه فایل این مقدار رو تنظیم کنیم و اون رو خارج همه کلاسها و متدها اینکلود کنیم ، آیا مقدار تنظیم شده توسط این تابع توی کلاسها و متدها اعمال می شه؟

سوال دوم اگر چند بار از این تابع استفاده کنیم، پی اچ پی چه مقداری رو در نظر می گیره؟

MMSHFE
چهارشنبه 17 اسفند 1390, 14:22 عصر
تقریباً بله، این تابع رو باید اول اسکریپتتون بگذارین. درواقع بعد از اتمام هر اسکریپت، مجدداً از timezone اصلی استفاده میشه. اما اگه اول هر اسکریپت یا توی فایلی که همه جا ضمیمه میشه (مثل config) قرار بدین، بعد از اجرای این تابع، تا وقتی که اجرای اسکریپت تمام نشده یا خودتون دوباره با استفاده از این دستور timezone رو عوض نکردین، از منطقه زمانی مشخصی که خودتون تعیین کردین استفاده خواهد شد. موفق باشید.

tiosus
دوشنبه 18 دی 1391, 17:32 عصر
<?php
date_default_timezone_set('Asia/Tehran');
echo date('h:i:s');
?>

زمان پیشفرض در PHP برروی GMT (ساعت گرینویچ) تنظیم شده که ساعت تهران 3:30+ باهاش اختلاف داره.
موفق باشید.
سلام این کد به درستی در سیستم بنده کار کرد.
۱- ساعت سرور من دقیقا نمیدانم گرینویچ است یا نه برای همین یک کد دیگر برای نمایش ساعت گرینویچ معرفی نمایید.
۲- این کدی که دادید مثلا ساعت ۶ غروب را ۰۶:۰۰ نمایش میدهد می خواهم این را ۱۸:۰۰ نمایش دهد.
لطفا راهنمایی نمایید.
با تشکر

MMSHFE
دوشنبه 18 دی 1391, 17:39 عصر
1- بجای Asia/Tehran از GMT استفاده کنید.
2- بجای h از H استفاده کنید.