0

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

我想将其转换为朱利安波斯日期并将其压缩到编辑页面。

这是我的控制器:

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>

进入编辑页面时出现此错误:

传递给 Morilog\Jalali\Jalalian::fromCarbon() 的 Agrument 1 必须是 Carbon\Carbon 的实例,字符串给定

我该如何解决这个问题?

4

1 回答 1

0

更改此行:

$expiration = Jalalian::fromCarbon($panelfile->expiration)->format('Y-m-d');

对此:

$expiration = Jalalian::fromCarbon(Carbon::parse($panelfile->expiration))->format('Y-m-d');

1400-06-02现在你有类似的东西$expiration(它是 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)
于 2021-08-24T09:38:57.940 回答