Laravel 中 Jalali 日历的未定义索引年

问题描述

我想在数据库中保存日期。我使用 Persian_datepicker 包选择日期,还使用 ​​Jalali 日历转换为公历日期。但是我得到了错误

错误

未定义的索引年

代码

pdate = "۱۴۰۰/۰۳/۲۹";
\Morilog\Jalali\Jalalian::fromFormat('Y/m/d',$pdate)->toCarbon();

解决方法

您应该将波斯日期转换为英文格式,然后再转换为公历。

۱۴۰۰-۰۳-۲۹(波斯语格式)-> 1400-03-29(英文格式)-> 2021-06-19(格里高利语)

我使用了 Jalali 包中的 CalendarUtils 类。假设 $date 是“۱۴۰۰-۰۳-۲۹”。

代码

public function jalaliToCarbon($date)
    {
        $date = CalendarUtils::convertNumbers($date,true);
        $latin_date = CalendarUtils::createCarbonFromFormat('Y-m-d',$date)->format('Y-m-d');
        return $latin_date;
    }