راکت
حل شده

تبدیل فرمت زمان به صورت اشتباه با متد date در php

5 پاسخ

سلام خسته نباشید
من برای تبدیل تاریخ شمسی به میلادی و بالعکس از پکیج morilog/jalali استفاده میکنم
اما چون تاریخ و زمان رو از ورودی به صورت یکجا میگرفتم و گاهی فاصله ی بین زمان و تاریخ کم و زیاد میشد (space های بینش منظورمه)
و به خاطری که درگیر فرمت دقیق نشم از متد date برای تغییر فرمت استفاده کردم
اما امروز بعد چند ماه استفاده یه اشکالی پیدا کرده و یک روز بعد تر تبدیلش بهم خروجی میده

date('Y-m-d H:i',strtotime('13:50       1400/06/31'))

خروجی کد بالا به شکل زیر هست

"1400-07-01 13:50"

لطفا راهنمایی بفرمایید چطور مشکل رو حل کنم

ثبت پرسش جدید

پاسخ‌ها

5
محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

بهترین پاسخ

@hosseinshirinegad98 سپاس

@juza66
شاید باورت نشه ولی خودم وارد میکنم (چون datetime picker دارم و قابل وارد کردن توسط کاربر با فرمت دیگری نیست)
اما چون پروژه بزرگ بود میخواستم تابع جامع بزنم برا که همه جا و همه ی پروژه ها به هر فرمتی بهش زمان رو بدم برام شمسی به میلادی رو تبدیل کنه .

اما الان مجبور شدم همه جا برم فرمت رو یکسان کنم و ی مشکل دیگه هم که بود زمان رو توی ویو مثلا ماه شش رو به صورت یک رقمی 6 میداد که باز مجبور شدم با حذف این متد date بیام و تشخیص بدم و دو رقمی کنمش
البته توسط تابع هست این هم اما خب
در کل ایراد از خودم بود که از اول میخواستم کار راحت تر باشه که نشد متاسفانه

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

سلام تابع strtotime نمیتونه تایم استمپ تاریخ شمسی رو بهت بده و زیاد دقیق هم نیست
راه حلش این است که ساعت و تاریخ رو جدا بفرستی به کنترلرت

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

این تاریخ رو کاربر وارد میکنه؟! این فاصله ها چطور اتفاق میافته؟!
از explode استفاده کن => تاریخ و ساعت رو جدا هندل کن

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

اره خب پیش میاد ولی اگر از پکیج verta استفاده کنی خیلی بهتر هست.

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

@juza66
مرسی از پیشنهادت
حتما بررسی میکنم

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام