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

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

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

باز هم ممنون


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

سلام
@Serjik

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


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

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


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

سلام
@Serjik

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


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

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


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

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


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

سلام

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

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

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

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

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


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

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


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

سلام
@Serjik

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


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

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

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

باز هم ممنون


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

سلام
@Serjik

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


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

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