在laravel中将波斯语日期转换为英语日期

41zrol4v  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(346)

我有一个表单,我用它向我的控制器发送数据。我的数据之一是“报告日期”。

<form action="{{ route('user.reports.store') }}" method="post" class="padding-30">
                @csrf
                <p class="box__title margin-bottom-15">دانش آموز</p>
                <input type="text" placeholder="کد دانش آموزی" class="text" name="user_code" value="{{ $user_intership->user_code }}">

                <p class="box__title margin-bottom-15">ترم دوره</p>
                <input type="text" placeholder="ترم دوره" class="text" name="intership_term_code" value="{{ $user_intership->intership_term_code }}">

                <p class="box__title margin-bottom-15">نام استاد</p>
                <input type="text" placeholder="نام استاد" class="text" name="teacher_code" value="{{ $user_intership->teacher_code }}">

                <p class="box__title margin-bottom-15">متن گزارش</p>
                <textarea id="" cols="30" rows="10" placeholder="متن گزارش" class="text" name="report_text"></textarea>

                <p class="box__title margin-bottom-15">توضیحات</p>
                <textarea id="" cols="30" rows="10" placeholder="توضیحات" class="text" name="description"></textarea>

                <p class="box__title margin-bottom-15">روز گزارش</p>
                <input type="text" placeholder="روز گزارش" class="text" name="report_day">

                <p class="box__title margin-bottom-15">تاریخ گزارش</p>
                <input type="text" class="text example1" id="date-time" name="report_date">

                <p class="box__title margin-bottom-15">مدرسه محل تحصیل</p>
                <input type="text" placeholder="محل تحصیل" class="text" name="school_code" value="{{ $user_intership->school_code }}">

                <p class="box__title margin-bottom-15"> محل کار آموزی</p>
                <input type="text" placeholder="محل کار آموزی" class="text" name="work_place_code" value="{{ $user_intership->work_place_code }}">

                <button class="btn btn-webamooz_net" type="submit">اضافه کردن</button>
            </form>

当我想在数据库中存储数据时,我的报告日期输入值是波斯日期。这样地:

1400/05/05

但我想把它转换成格里高利日(英语日期),如下所示:

2021-7-27

这是我的控制器:

public function store_report(Request $request)
{
    Intershipreport::create([
        'user_code' => $request->user_code,
        'teacher_code' => $request->teacher_code,
        'intership_term_code' => $request->intership_term_code,
        'report_day' => $request->report_day,
        'report_date' => $request->report_date,
        'report_text' => $request->report_text,
        'description' => $request->description,
        'school_code' => $request->school_code,
        'work_place_code' => $request->work_place_code,
    ]);
    return redirect()->route('user.reports-list')->with('success', 'گزارش شما با موفقیت ثبت شد');
}

我还尝试了morilog软件包,但我不知道如何用它转换日期:)

2skhul33

2skhul331#

您可以使用https://github.com/morilog/jalali 包裹
通过在终端中运行以下命令来安装此软件包

composer require morilog/jalali:3.*

运行下面的命令,通过指定日期格式获取波斯语日期,并将其转换为carbon示例

$jDate = Jalalian::fromFormat('Y/m/d', '1400/05/05');
$carbon_instance = $jDate->toCarbon();

您需要将报告日期转换为您的 Intershipreport 建模到目前为止,并将碳传递到 create 方法。从这里了解更多有关日期转换的信息
船际报告模型

class Intershipreport
{
    // ...

    $date=[
        'report_date'
    ];
}

然后,轻松创建它,如下所示:

Intershipreport::create([
        'user_code' => $request->user_code,
        'teacher_code' => $request->teacher_code,
        'intership_term_code' => $request->intership_term_code,
        'report_day' => $request->report_day,
        'report_date' => \Morilog\Jalali\Jalalian::Jalalian::fromFormat('Y/m/d', $request->report_date)->toCarbon(),
        'report_text' => $request->report_text,
        'description' => $request->description,
        'school_code' => $request->school_code,
        'work_place_code' => $request->work_place_code,
    ]);

相关问题