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");
您好,我正在尝试修复由另一位开发人员创建的一段旧代码。花了一段时间修复它以与 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");