在我的模板 PhpWord 中更改日期格式

Changing date format in my template PhpWord

我试图在我的模板 PhpWord 中更改我的日期格式的输出,但它不起作用。 在我的控制器中,我有:

public function edit(Attestationstagiaire $attestationstagiaire, $downloadName = null)
{
    $id = $attestationstagiaire->id;
    $desc1 = Attestationstagiaire::find($id);

    $my_template = new \PhpOffice\PhpWord\TemplateProcessor(public_path('templates/stagiaire/attestation.docx'));

    $my_template->setValue('id', $desc1->id);
    $my_template->setValue('prenoms', $desc1->prenoms);
    $my_template->setValue('nom', $desc1->nom);
    $my_template->setValue('date_de_naissance', $desc1->date_de_naissance);
    $my_template->setValue('lieu_de_naissance', $desc1->lieu_de_naissance);

    try{
        $my_template->saveAs(storage_path("Document.docx"));
    }catch (Exception $e){
        //handle exception
    }
    return response()->download(storage_path("Document.docx"));

}

行中 -> $my_template->setValue('date_de_naissance', $desc1->date_de_naissance); 我在输出文档中的日期格式显示 12-07-2020,但我想要 12 Juillet 2020。 我能怎么做? 感谢您的帮助!

使用format()方法格式化日期。

您必须在 date/timestamp 实例(变量)上调用 format() 方法:

$desc1->date_de_naissance->format('j F Y');

多亏了这个:

-> $my_template->setValue('date_de_naissance',
Carbon\Carbon::parse( $desc1->date_de_naissance)->format('d F Y'))

更多详情见:

http://php.net/manual/pl/function.date.php