محمد رضا
3 سال پیش توسط محمد رضا مطرح شد
5 پاسخ

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

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

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

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

"1400-07-01 13:50"

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


ثبت پرسش جدید
محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش آپدیت شد
0

@hosseinshirinegad98 سپاس

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

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


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

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


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش آپدیت شد
0

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


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش آپدیت شد
0

@hosseinshirinegad98 سپاس

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

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


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
0

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


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
0

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


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

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