用laravel中的Jalali从Carbon创建儒略历日期



我的文件在数据库中有一个截止日期。

我想把它转换成朱利安波斯日期,并压缩到编辑页。

这是我的控制器:

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方法,你应该传递三个参数给它:

  1. 公历年(例如:2021)
  2. 公历月(例如:8)
  3. 公历日(例如:24)

相关内容

  • 没有找到相关文章

最新更新