morilog / jalali

This Package helps developers to easily work with Jalali (Shamsi or Iranian) dates in php appliations, based on Jalali (Shamsi) DateTime class.
MIT License
860 stars 110 forks source link

مشکل تبدیل تاریخ شمسی به میلادی #62

Closed hmahdi-s closed 3 years ago

hmahdi-s commented 5 years ago

برای تبدیل تاریخ شمسی به میلادی از متد toGregorian استفاده می کنم. منتهی ارور دریافت میکنم.

\Morilog\Jalali\CalendarUtils::toGregorian(1395,4,15) اروری که دریافت می کنم: htmlspecialchars() expects parameter ۱ to be string, array given نسخه لاراولم ۵.۵ هست نسخه پکیجی که نصب کردم : 3.*

morilog commented 5 years ago

این کد رو کجا استفاده کردید؟ توی ویو؟ چون خروچی این متد یه آرایه‌ست و احتمالا شما میخواستید اون رو چاپ کنید که همچین ارروی داده

hmahdi-s commented 5 years ago

بله توی ویو

hmahdi-s commented 5 years ago

به کاربر تاریخ شمسی رو نشون میدم. حالا میخوام وقتی ادیتش کرد مقدار ادیت شده رو به میلادی برگردونم و توی دیتابیس ذخیره کنم سمپل دارید برای این روند؟

hmahdi-s commented 5 years ago

jdtogregorian(1395, 2, 18) error: jdtogregorian() expects exactly 1 parameter, 3 given

morilog commented 5 years ago

لطف کن داکیومنت رو بخون و از توابعی که گفته شده استفاده کن. اون تابعی که استفاده کردی کارش تبدیل تاریخ توی سطح پایین‌تره و یه جوری دیپندسی برای کلاس اصلیه.

d-fal commented 5 years ago

This code fails in runtime:

$Jalalian = "1394/1/2";
$dateTime = \Morilog\Jalali\CalendarUtils::createDatetimeFromFormat('Y/m/d', $Jalalian);

If one change it to $Jalalian = "1394/01/02"; It goes fine.

Error:

Undefined index: year vendor/morilog/jalali/src/CalendarUtils.php(756)

--- Reading the source code, it should be changed to

 $dateTime = \Morilog\Jalali\CalendarUtils::createDatetimeFromFormat('Y/n/j', $Jalalian);

I would suggest use a wrapper that works with 'Y/m/d' familiar paradigm. I can help with this.

faridfr commented 5 years ago

به کاربر تاریخ شمسی رو نشون میدم. حالا میخوام وقتی ادیتش کرد مقدار ادیت شده رو به میلادی برگردونم و توی دیتابیس ذخیره کنم سمپل دارید برای این روند؟

@hmahdi-s https://gist.github.com/faridfr/da19aed52452ec8e0c01ccc030d5fe85

MRE-Developer commented 5 years ago

(11ب.ظ29UTC292512UTC) سلام بنده که میخوام تبدیل کنم به شمسی تاریخ به هم میخوره و تبدیل میشه به ممنون میشم راهنمایی کنید؟

faridfr commented 5 years ago

(11ب.ظ29UTC292512UTC) سلام بنده که میخوام تبدیل کنم به شمسی تاریخ به هم میخوره و تبدیل میشه به ممنون میشم راهنمایی کنید؟

$jalali = jdate($miladi)->format('Y-m-d H:i:s')

MRE-Developer commented 5 years ago

@faridfr ممنونم واقعا.عالی بود. فقط مورد اول مشکلش چی بود که کار نمیکرد؟

faridfr commented 5 years ago

احتمالا فرمت خروجی رو مشخص نکردید . وقتی فرمت رو بصورت Y-m-d H:i:s مشخص کنید بصورت تاریخ و ساعت و اگر بصورت H:i:s مشخص کنید ، فقط ساعت رو نمایش میده

MRE-Developer commented 5 years ago

@faridfr ممنونم

MohammadBadzohreh commented 3 years ago

سلام میتونین jalalian::fromformat() استفاده کنین و اون پارامتر های مورد نیاز رو به تابع بدین