PhpSpreadsheetで日付の書式(ユーザ定義書式)を反映させる

https://teratail.com/questions/145298
PhpSpreadsheetでセルに"2020/11/12"などの値を書き込むと、それは日付ではなくその文字列として設定される。
そのためセルに日付書式が設定されていても、それを無視して書き込んだ値が表示される。
日付値をセルに設定するには、値をPhpSpreadsheetにおける「Excelの日付型」に変換して、それをセルに設定してやる必要がある。そうすればセルに予め設定してある日付書式に従ったセル表示にすることができる。

// Get the current date/time and convert to an Excel date/time
$dateTimeNow = time();
$excelDateValue = \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel( $dateTimeNow );
$sheet->setCellValue("A1", $excelDateValue);

yyyy-mm-dd書式から設定するには以下。

$excelDateValue = \PhpOffice\PhpSpreadsheet\Shared\Date::PHPToExcel( new DateTime("2020-12-31") );