مشکل کار با jdate

- 4 هفته پیش
توسط Alimotreb آپدیت شد
Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

سلام خسته نباشید
من کد زیر رو دارم که تاریخ ها تا 12ماه گذشته رو باید برگردونه

public function getLastMonths($month){
        for ($i=0 ; $i < $month; $i++){
            $labels[]=jdate(Carbon::now()->subMonths($i))->format('%B');
        }
        return array_reverse($labels);
    }

اما مثل اینکه یه مشکلی داره و خروجی زیر رو میده

[
"خرداد",
"تیر",
"مرداد",
"شهریور",
"مهر",
"آبان",
"آذر",
"بهمن",
"اسفند",
"فروردین",
"اردیبهشت",
"اردیبهشت"
]

وقتی داخل حلقه تاریخ ها رو echo کردم متوجه اختلاف شدم

echo $i.' -- '.jdate(Carbon::now()->subMonths($i)).' --- '.Carbon::now()->subMonths($i).'<br>';

خروجی کد بالا

0 -- 1398-02-31 18:17:18 --- 2019-05-21 18:17:18
1 -- 1398-02-01 18:17:18 --- 2019-04-21 18:17:18
2 -- 1398-01-01 18:17:18 --- 2019-03-21 18:17:18
3 -- 1397-12-02 18:17:18 --- 2019-02-21 18:17:18
4 -- 1397-11-01 18:17:18 --- 2019-01-21 18:17:18
5 -- 1397-09-30 18:17:18 --- 2018-12-21 18:17:18
6 -- 1397-08-30 18:17:18 --- 2018-11-21 18:17:18
7 -- 1397-07-29 18:17:18 --- 2018-10-21 18:17:18
8 -- 1397-06-30 18:17:18 --- 2018-09-21 18:17:18
9 -- 1397-05-30 18:17:18 --- 2018-08-21 18:17:18
10 -- 1397-04-30 18:17:18 --- 2018-07-21 18:17:18
11 -- 1397-03-31 18:17:18 --- 2018-06-21 18:17:18
بهترین پاسخ انتخاب شده توسط Ali Ghaleyan
Ali Ghaleyan
4 هفته پیش

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

for ($i=0 ; $i < $month; $i++){
            $labels[]=verta()->subMonths($i)->format('%B');
        }
        return array_reverse($labels);

باز هم ممنون

Alimotreb ( 91342 تجربه )
4 هفته پیش

سلام
@Serjik

خب چون از صفر شروع کردید 12 هم دادید
2 تا اردیبهشت دارید
11 بدید اوکی میشه یا اونجا رو از 1 شروع کنید!
فرقی نداره
درست هست خروجی ها .

Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

@Alimotreb
دی رو هم نشون نمیده اخه

Alimotreb ( 91342 تجربه )
4 هفته پیش

سلام
@Serjik

کتابخونه jdf رو آخرین ورژنش رو ریختید؟
چون عجیبه همچین چیزی!

Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

@Alimotreb
بله آخرین ورژنشه

Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

@Alimotreb
شما خودتون میتونید اجراش کنید خروجیش رو ببینید

Alimotreb ( 91342 تجربه )
4 هفته پیش

سلام

@Serjik
من این رو تست گرفتم درست بود
مشکلی نداشت

for ($i=12 ; $i> 0; $i--){

       echo   jdate("/M/",strtotime(Carbon::now()->subMonths($i))).'<br>';
        }
Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

@Alimotreb
به /M/ ارور داد :(

Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

@hesammousavi
من از پکیج morilog/jalali:3.* استفاده کردم

Alimotreb ( 91342 تجربه )
4 هفته پیش

سلام
@Serjik

من با خود jdf تو لاراول تست کردم و مشکلی نداشت.

Ali Ghaleyan ( 3785 تجربه )
4 هفته پیش

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

for ($i=0 ; $i < $month; $i++){
            $labels[]=verta()->subMonths($i)->format('%B');
        }
        return array_reverse($labels);

باز هم ممنون

Alimotreb ( 91342 تجربه )
4 هفته پیش

سلام
@Serjik

خواهش میکنم
ورتا هم خوب هست
موفق باشید

برای ارسال پاسخ باید وارد سایت شوید