Ali Ghaleyan
5 سال پیش توسط Ali Ghaleyan مطرح شد
11 پاسخ

مشکل کار با jdate

سلام خسته نباشید
من کد زیر رو دارم که تاریخ ها تا 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
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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

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

باز هم ممنون


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام

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

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

       echo   jdate("/M/",strtotime(Carbon::now()->subMonths($i))).'<br>';
        }

Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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


Ali Ghaleyan
تخصص : برنامه نویس لاراول
@Serjik 5 سال پیش مطرح شد
0

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

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

باز هم ممنون


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
1

سلام
@Serjik

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


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

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