【发布时间】:2015-01-12 13:00:26
【问题描述】:
您好,我正在尝试修复另一位开发人员创建的旧代码。花了一段时间修复它以使用 mysqli。无论如何,我清单上的最后一件事是修复日期错误。
没有实际错误,但如果您提交带有有效日期的表格,表格中始终显示为01-01-1970
下面是格式化日期的一段代码。日期以DD-MM-YY 格式输入。
$arr[$i] = strftime("%Y-%m-%d", strtotime($date) );
到目前为止的结果总是01-01-1970
这里有一些尝试用相同的输出修复它:
$arr[$i] = $date;
$arr[$i] = strtotime($date);
以及strftime 设置的许多变体!
【问题讨论】:
-
尝试使用 DateTime 对象和createFromFormat
-
你能给我们提供一个
var_dump($date)吗? -
@Kieranmv95 如果您尝试插入当前日期(如今天的日期),您可以在 MySQL 查询中简单地使用
NOW(),它会处理它为您服务,如果它是未来或过去的日期,那么您将不得不为 MySQL 格式化它,将其作为YEAR-MONTH-DAY例如2015-01-12。 -
这可能需要前几天我并不总是
now()(我希望是这样)。我现在要尝试转储,我已经检查了数据库,它肯定是一个 DATETIME 格式字段 -
@Dencker 它正在返回
null,所以我将尝试找到“应该”为其分配日期的代码
标签: php mysql validation date