我的文件在数据库中有一个截止日期。
我想把它转换成朱利安波斯日期,并压缩到编辑页。
这是我的控制器:
Public function edit(Panelfile $panelfile)
{
$expiration = Jalalian::fromCarbon($panelfile->expiration)->format('Y-m-d');
$date = CalendarUtils::toJalali($expiration);
return view('file.edit',compact('panelfile','date'));
}
这是我的日期选择器输入:
<div class="form-group">
<input type="text" name"expiration" value="{{$date}}" data-jdp>
</div>
当我进入编辑页面时,我得到这个错误:
协议1传递给MorilogJalaliJalalian::fromCarbon()必须是CarbonCarbon的一个实例,string given
我该如何解决这个问题?
改变这一行:
$expiration = Jalalian::fromCarbon($panelfile->expiration)->format('Y-m-d');
:
$expiration = Jalalian::fromCarbon(Carbon::parse($panelfile->expiration))->format('Y-m-d');
现在你在$expiration
中得到了类似1400-06-02
的东西(这是Jalali日期)。
如果你看一下toJalali
方法,它有3个参数:
/**
* Converts a Gregorian date to Jalali.
*
* @param $gy
* @param $gm
* @param $gd
* @return array
* 0: Year
* 1: Month
* 2: Day
*/
public static function toJalali($gy, $gm, $gd)
{
return self::d2j(self::g2d($gy, $gm, $gd));
}
你已经有了Jalali日期,(我认为)你不需要使用之后的行。但是如果你想使用toJalali
方法,你应该传递三个参数给它:
- 公历年(例如:2021)
- 公历月(例如:8)
- 公历日(例如:24)