php - PHP 无法找出正确的日期格式
问题描述
我有来自 mysql 的数据类型为 DATETIME 的数据,格式为2020-08-19 10:48:00
但是,我的 HTML 表单上的“datetime-local”类型的输入是dd-mm-yyyy --:--
所以很明显,如果我尝试将输入值设置为获取的日期时间,它就不起作用。我有一个格式化日期的函数,在这里:
function formatDate($date, $format){
switch($format){
//Sunday, 11th November 2018
case 1: return date("l, jS F Y", strtotime($date));
break;
//11th November 2018
case 2: return date("jS F Y", strtotime($date));
break;
//November 11th 2018
case 3: return date("F jS Y", strtotime($date));
break;
//11-11-18
case 4:return date("d-m-y", strtotime($date));
break;
//18-11-11
case 5:return date("y-m-d", strtotime($date));
break;
//Sunday, 11th November 2018 @ 11:11
case 6: return date("l, jS F Y @ H:i", strtotime($date));
break;
// 11:11
case 7: return date("H:i a", strtotime($date));
break;
// 11/11/2020 11:11
case 8: return date("d/m/Y @ H:i", strtotime($date));
break;
//20201111 for invoice pdf
case 9:return date("Ymd", strtotime($date));
break;
// 11/11/2020 11:11
case 10: return date("d/m/Y", strtotime($date));
break;
//Sunday, 11/11/2020 11:11
case 11: return date("l, d/m/Y", strtotime($date));
break;
case 12: return (strtotime($date));
break;
case 13: return date("Y-m-d\TH:i", strtotime($date));
break;
case 14: return date("Y", strtotime($date));
break;
case 15: return date('%d-%m-%YT%H:%M', strtotime($date));
break;
}
}
但遗憾的是,我已经尝试了所有案例和我刚刚添加的第 15 号案例。谁能告诉我有没有更好的方法或实际正确的格式,所以我可以将它实现到我的函数中
解决方案
问题是datetime-local
输入类型期望日期采用这种格式:yyyy-mm-ddThh:mm
但您提供%d-%m-%YT%H:%M
的是 sql 日期格式。尝试使用以下格式:
return date('Y-m-d\TH:i', strtotime($date));
编辑:案例 13 应该可以解决问题
推荐阅读
- laravel - 调用 int 上的成员函数 notify()
- python - 整数是必需的(得到类型 str)
- typescript - Typescript Private or protected member 'something' 不能在类型参数上访问
- apache-nifi - MergeRecord - 输出的控件名称
- java - 如何创建地图
在使用 Java 流的第一个和最后一个嵌套对象之间? - java - 从 SQlite 数据库更新图像
- json - 如何在 swift 中从带有 json 的 URL 获取 JSON 响应
- firebase - Firebase 安全规则如何通配除指定路径之外的所有路径
- c# - OrderBy(item => false) 会影响列表顺序吗?
- reactjs - 未处理的拒绝(TypeError):无法读取未定义的属性“重新获取” - GraphQL