سلام
به طور مثال الان ساعت 3:38 صبحه
من دستور زیر رو میزنم در لاراول
Carbon::now()
تاریخ به درستی نمایش میده ولی زمان رو یک ساعت جلوتر یعنی 4:38 نشون میده!
timezone هم اوکی کردم و cache:clear , config:clear هم زدم
ولی همیشه یک ساعت جلوتر نشون میده!
چکار کنم؟
@mohaligateway @muhammad
@ali.bayat
@hesammousavi
سلام
برای php دو نوع استاندارد وجود داره. مواردی به صورت پیشفرض تعریف شده است. مثلا Asia/Tehran. ولی استاندارد UTC براساس ISO8601 هم برای زبان های برنامه نویسی به صورت استاندارد قرار داده شده است. می تونید از استاندارد UTC هم استفاده کنید. UTC+3:30
@mojtaba.kh
سلام وقتتون بخیر!
توی لاراول داخل فایل های کانفیگ میتونید Time zone رو عوض کنید!
توی پوشه config فایل app.php
تقریبا خط 72
'timezone' => 'Asia/Tehran',
من هم همین مشکل شما رو دارم داخل یه پروژه
تایم زون ایران/تهران به درستی داخل لاراول ست شده است. ,ولی همین تایم زون رو با +0430 ست کرده
یعنی DST تاثیر داده شده
لطفا اگر نتیجه گرفتید اینجا اعلام بفرمایید
من هم همین مشکل رو دارم و هر چی جستجو کردم به نتیجه ای نرسیدم که UTC+4:30 را تبدیل به UTC+3:30 کنم ولی تا وقتی که مشکل ریشه ای حل بشه گفتم اینو با شما در میون بذارم:
وقتی رکوردی insert میشه داخل جدول، ساعت رو خودش +4:30 در نظر می گیره برای مثلا فیلد created_at و 1 ساعت بهش اضافه می کنه و اگر تابع now() رو هم فراخوانی کنید باز 1 ساعت جلوتر هست بنابراین چون در هر دو صورت، خودش 1 ساعت جلوتر کشیده ساعت رو؛ عملا اگر شما بخواهید ساعت now را با ساعت created_at مقایسه کنید عدد درستی به شما بر می گردونه.
مشکل رو حل کردم
باید timezonedb. رو داخل سرور نصب کنید و در فایل php.ini خط زیر رو اضافه کنید
extension=timezonedb.so
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟