您好我正在尝试修复由另一位开发人员创建的旧代码。花了一段时间修复它与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
设置的许多变体!
答案 0 :(得分:3)
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) );
答案 1 :(得分:0)
尝试使用DateTime对象和createFromFormat,这样您就可以明确定义$date
值的格式
$dt = DateTime::createFromFormat('d-m-y',$date);
$arr[$i] = $dt->format("Y-m-d");