php - 为什么 DateTime::createFromFormat() 返回一个布尔值并显示数据丢失错误?
问题描述
当我运行这些代码时。我收到了这个错误:
致命错误:未捕获的错误:在 /Users/xxx/xxx/xxx/www/login/user/save.php:18 中调用 bool 上的成员函数 format() 堆栈跟踪:在 /Users/ 中抛出 #0 {main} xxx/xxx/xxx/www/login/user/save.php 在第 18 行。
功能有问题format()
吗?
当我使用这个时:
var_dump($tmp);
var_dump(DateTime::CreateFromFormat("m/d/Y", $_POST['start_date']));
var_dump(DateTime::getLastErrors("m/d/Y", $_POST['start_date']));
尝试获取错误消息,它显示:
bool(false)
bool(false)
array(4) {
["warning_count"]=> int(0)
["warnings"]=> array(0) { }
["error_count"]=> int(1)
["errors"]=> array(1) {
[0]=> string(12) "Data missing"
}
}
$_POST = array_map('stripslashes', $_POST);
$tmp = DateTime::CreateFromFormat("m/d/Y", $_POST['start_date']);
//var_dump....
$start_date = $tmp->format("Y-m-d");
$tmp = DateTime::CreateFromFormat("m/d/Y", $_POST['end_date']);
$end_date = $tmp->format("Y-m-d");
解决方案
由于数据丢失而出现致命错误,因此它返回 bool(false)。如果我在首页表单中输入特定时间,然后首页将显示数据: object(DateTime)#7 (3) { ["date"]=> string(26) "2019-09-30 15:09 :14.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }。并且插入到数据库中效果很好。感谢大家的帮助和指导!
推荐阅读
- python - 使用opencv python从移动相机(无人机)拍摄的视频中提取移动对象
- pyspark - 除非在 mmlspark 中使用 lgbm 模型的数据块中使用 repartition(1),否则大预测结果
- python - 如何使用迁移的 Django 模型将“没有时区的时间戳”更改为“有时区的时间戳”?
- python - 缺少 Python 构造函数属性
- javascript - 使用 fetch 方法从 AWS S3 下载文件会引发 CORS 错误
- php - 告诉 Laravel 在 X 秒后停止尝试连接
- java - 无法在 Mac OS Big Sur 上打开 Eclipse
- arrays - 使用索引匹配,其中匹配查找可以是多个值之一
- python - 使用 XPather 进行测试时 HTML 无效
- reactjs - 有些东西直接调用了 React 组件。改用工厂或 JSX