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

باگ در روز اول هر ماه #76

Closed sajaddp closed 3 years ago

sajaddp commented 5 years ago

سلام آقاجان پکیج باگ داره و روز اول هر ماه اطلاعات اشتباه میاره! این موضوع هم فقط مربوط به روز اول هست و از روز دوم ماه شمسی نرمال کار می کنه

morilog commented 5 years ago

سلام چه باگی داره دقیقا؟ چه اطلاعاتی رو اشتباه نشون میده و چه اطلاعاتی رو باید به جاش نشون بده؟

sajaddp commented 5 years ago
روز اول و آخر هرماه تبدیل تاریخ ها اشتباه انجام میشه. این موضوع رو بنده در چندماه گذشته مرتب برخورد کردم. برای مثال اول اردیبهشت امسال تاریخ هایی که مربوط به January 2019 بود رو اشتباه تبدیل می کرد و همچنین در ماه های 31 روزه در اول ماه بعد تاریخ هایی که مربوط به روز 31 ام بوده رو اشتباه تبدیل می کنه. همون طور که گفتم در چندماه گذشته برخورد کردم روی سرورهای مختلف و پروژه های گوناگونی که برپایه لاراول بود این مسئله رخ میده.
sajaddp commented 5 years ago

یک مورد دیگه اینکه قطعه کد زیر رو در نظر بگیرید:


$forge = Jalalian::forge("-3 months");
$forge->format('y-m');

$forge_2 = Jalalian::forge("-4 months");
$forge_2 ->format('y-m');
÷÷÷
اگر زمان سرور رو برای 1 اردیبهشت تنظیم کنید و تست بگیرید در خروجی اشکال کار مشخص میشه.
sajaddp commented 3 years ago

@morilog عزیز این مشکل حل شده؟

morilog commented 3 years ago

این مورد رو تست نکردم ولی لطفا از متدهای modifier مثل subMonth استفاده کنید مشکلتون حل میشه . وقتی از forge استفاده میکنید ابتدا به میلادی تاریخ حساب میشه و سپس به جلالی تبدیل میشه