PHP 日期输入为 1970

PHP date entering as 1970

您好,我正在尝试修复由另一位开发人员创建的一段旧代码。花了一段时间修复它以与 mysqli 一起工作。无论如何,我列表中的最后一件事是修复日期错误。 没有实际错误,但如果您提交带有有效日期的表格,它总是在 table 中显示为 01-01-1970 下面是一段格式化日期的代码。日期以 DD-MM-YY.

格式输入
$arr[$i] = strftime("%Y-%m-%d", strtotime($date) );

到目前为止的结果总是01-01-1970

这里有一些 y 尝试使用相同的输出修复它:

$arr[$i] = $date;

$arr[$i] = strtotime($date);

以及 strftime 设置的许多变化!

你考虑过使用 date() 吗?

string date ( string $format [, int $timestamp = time() ] )

http://php.net/manual/en/function.date.php

所以...

$arr[$i] = strftime("%Y-%m-%d", strtotime($date) );

变成

 $arr[$i] = date("Y-m-d", strtotime($date) );

尝试使用 DateTime 对象和 createFromFormat,这样您就可以明确定义 $date 值的格式

$dt = DateTime::createFromFormat('d-m-y',$date);
$arr[$i] = $dt->format("Y-m-d");