php - 在 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 格式显示吗?
解决方案
如果您没有任何日期,则默认日期为 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')}}
推荐阅读
- android - recyclerview 处理 ui 元素行为
- r - 网络分析 - 操纵数据 - Shiny
- java - 在 Stringbuilder 中删除字符后索引混乱 - Java
- math - 计算物体的运动方向
- java - 当我尝试在 MainActivity 中读取文件时,它似乎是空白的,而其他活动可以读取创建的文件
- javascript - Angular 6 可摇树提供程序和惰性模块
- php - 仅在 foreach ajax 帖子中插入特定数据
- python-3.x - 在 python 中加载 FLAC 文件,与 scipy 或 librosa 相同
- javascript - 如何从可能不允许跨源的 HTTP 请求下载文件
- javascript - 如何从闭包中访问方法?