首页 > 解决方案 > 在 php 中显示错误日期格式输入的 Ymd 格式

问题描述

我有一张日期为 Y/m/d H:i:s 格式的 Excel 表格。但是如果用户不小心输入了 2019/29/10 16:20:10(即 Y/d/m H:i:s)格式,它应该转换为 Ymd H:i:s 格式为 2019-10-29 16:20:10。

我使用了以下 strotime 但它将 Y/d/m 格式转换为 1970-01-01

$date = date('Y-m-d h:i:s', strtotime($rows[$i][2]));

如果错误地交换了月份和日期,我们可以保存并以 Ymd 格式显示吗?

标签: phplaraveldatestrtotime

解决方案


如果您没有任何日期,则默认日期为 1970-01-01,因此请在 if 之前使用条件

if($rows[$i][2]){
 date('Y-m-d h:i:s', strtotime($rows[$i][2]));
}

另一种方法是在 Laravel Blade 模板中使用Carbon

{{ \Carbon\Carbon::parse($rows[$i][2])->format('Y-m-d h:i:s')}}

推荐阅读