نباید این مشکل به وجود بیاد.سلام
خوب از اول مهر همه ساعت ها یه ساعت عقب کشیده شد دیگه ه ه هه ه..........
lمن الان از لوکال هاست استفاده می کنم.از هرجا هاست رو گرفتی بگو اگه بشه اوکی می کنند
date_default_timezone_set('Asia/Tehran');
من از این تابع استفاده می کنم ولی نمی دونم به چه دلیل ساعت سایتم یک ساعت عقب اومده.از این کد استفاده کن
PHP:date_default_timezone_set('asia/tehran');
date_default_timezone_set('Asia/Tehran');
echo date('I', time());
من از لوکال هاست استفاده می کنم.masoud1365 جان سلام ، شما باید بدونی که کلاً تایم وقتی میاد عقب واسه ایران ، در موقعیت زمانی asia/tehran میاد عقب!
دوست خوبم به این مورد میگن daylight saving time شما کد زیر رو در سرورتون اجرا کنید اگر خروجی 1 بود یعنی daylight saving time فعاله در غیر ایصورت نیست.
PHP:date_default_timezone_set('asia/tehran'); echo date('i', time());
روی لوکال برای همه 0 میده چون اصلاً سروری وجود نداره که بخواد تایم داشته باشه. تایم توی لوکال هاست از تایم توی ویندوز تبعیت می کنه. شما اگر روی لوکال بخواین این برگشت ساعت به عقب رفتنش به جلو رو از حالت پیشفرض در بیارید باید مسیر زیر رو دنبال کنید.من از لوکال هاست استفاده می کنم.
مقدار برگشتی صفر بود.
آیا این تنظیمات همیشه توی همه سرورها برقرار هست؟
Date and Time > Change time zone... > (disable) Automatically adjust clock for Daylight Saving Time
چرا سرورها به صورت پیش فرض این ویژگی رو بکار نمی برن؟روی سرور هم اون تیکه کد رو امتحان کن. ببین خروجیش چیه.
کدوم ویژگی؟ از کار انداختن daylight saving time ؟ درضمن این حرفی که زدی با اون حرف من که نقل قول کردی هیچ ربطی به هم ندارنچرا سرورها به صورت پیش فرض این ویژگی رو بکار نمی برن؟
منظورم اینه که سرورها به صورت اتوماتیک ساعتها رو جلو و عقب می برن یا نه؟کدوم ویژگی؟ از کار انداختن daylight saving time ؟ درضمن این حرفی که زدی با اون حرف من که نقل قول کردی هیچ ربطی به هم ندارن
من یکم بیشتر رواین مسئله فکر کردم و یه چیزایی دستگیرم شد. الآن ویندوز من خودش گفته 20 سپتامبر ساعت فلان daylight saving time به پایان رسیده ! یعنی الآن ساعت درست ما همین ساعت جدیده! به همین خاطر هست اگر اون تیکه کد رو الآن روی سرور ولوکال تست کنی خروجیش 0 هست!منظورم اینه که سرورها به صورت اتوماتیک ساعتها رو جلو و عقب می برن یا نه؟
$hour = gmdate('H') + 3;
$minute = gmdate('i')+30;
$secound = gmdate('s');
echo gmdate("Y-m-d {$hour}:{$minute}:{$secound}",time());
چه نتیجه ای باید گرفت؟بعلاوه اینکه هیچ راهی نداره ازش خلاص بشی چون php بطور پیشفرض و خودکار این رو اعمال می کنه. حتی الآن اگر شما با gmt هم تاریخت رو بسازی ، اگر بهش 3:30 اضافه کنی باز میشه همین تاریخ الآن. میگی نه کد زیر رو تست کن:
تاریخ رسمی ما الآن همینی هست که داریم یعنی الآن ساعت 1 و 8 دقیقه هست. اون سایت رو به ساعت شرعی باید معروف باشه. چون فقط برای نماز و اوقات شرعی کلاً ازش استفاده میشه. میتونی یه فانکشن بنویسی که اینکارو خودکار برات کنه. طرز نوشتنشم اینطوریه. شما اون تاریخ هایی که ساعت عقب و جلو میشه رو بدست میاری بعد تعریف می کنی تاریخ دلخواه خودت رو و میگی تو این تاریخ ها ساعت رو یک ساعت بیاد عقب. بهتره هم از gmt استفاده کنی که راحت و بهتره.من می خوام یه سایت بسازم و تحویل بدم، ساعت این سایت باید بتونه همیشه ساعت رسمی رو نمایش بده.
فکر نکنم انقد وضع خراب باشه که لازم بشه دستی این کارا رو بکنیم.تاریخ رسمی ما الآن همینی هست که داریم یعنی الآن ساعت 1 و 8 دقیقه هست. اون سایت رو به ساعت شرعی باید معروف باشه. چون فقط برای نماز و اوقات شرعی کلاً ازش استفاده میشه. میتونی یه فانکشن بنویسی که اینکارو خودکار برات کنه. طرز نوشتنشم اینطوریه. شما اون تاریخ هایی که ساعت عقب و جلو میشه رو بدست میاری بعد تعریف می کنی تاریخ دلخواه خودت رو و میگی تو این تاریخ ها ساعت رو یک ساعت بیاد عقب. بهتره هم از gmt استفاده کنی که راحت و بهتره.
اگر چیزی خلاف/اضافه بر حرفای من بهت گفتن لطفاً با من به اشتراک بذارباید از شرکت خدمات دهنده هم سوال بپرسم.
آیا تابع زیر عقب و جلو رفتن ساعت در اول مهر و اول بهار رو راعایت می کنه؟ببینید زمان از روی سرور گرفته میشه !
حالا اگه خدمات دهنده شما سرور داشته باشه و یوزرهاش همه ایرانی باشن ساعت سرور روی ایران تنظیم میکنه ! اما اگه نباشه ما یا باید خودمون ساعت رو واسه اسکریپت ست کنیم ( کدش رو توی پست قبلی گذاشتم ) یا این که تاریخ رو توی همون gmt ذخیره کنیم و موقع نمایش سه ساعت و نیم بهش اضافه کنیم !
date_default_timezone_set('Asia/Tehran');