Laravel Excel 导入返回错误日期

我有一个 Excel 文件,其中有一个日期列。该日期看起来像“17.07.2020”。


我正在使用 Laravel 和 Maatwebsite Excel 导入。当我将导入的数据保存到MySQL时,MySQL中的日期始终是“1970-01-01”。


这是我现在拥有的代码:


return new Product([

    .......

    'discountBeginning'  => date('Y-m-d', strtotime($row['discount_beginning'])

]);

我想将 Excel 中的日期格式设置为“2020-07-17”。


小怪兽爱吃肉
浏览 127回答 3
3回答

汪汪一只猫

尝试这个$date = new DateTime($row['discount_beginning']);echo $date->format('d.m.Y');

慕后森

$date =  "17.07.2020";$d2 = \Carbon\Carbon::createFromFormat('d.m.Y', $date)->format('Y-m-d');dd($d2); // returns: "2020-07-17"->toDateString();如果返回的日期不是字符串,您也可以尝试附加。如果它已经是一个字符串,这将失败。

凤凰求蛊

您正在使用 Laravel,因此您已经可以访问很棒的 Carbon 库。对于 Excel 文件中数据的格式(日.月.年),您可以像这样使用它:return new Product([    .......    'discountBeginning'  => \Carbon\Carbon::createFromFormat('d.m.Y', $row['discount_beginning']),]);获得 Carbon 实例后,您可以根据php 的日期语法对其进行格式化,例如:$date = \Carbon\Carbon::createFromFormat('d.m.Y', $row['discount_beginning']);$date->format('Y-m-d');
打开App,查看更多内容
随时随地看视频慕课网APP