PHP日期进入1970年

时间:2015-01-12 13:00:26

标签: php mysql validation date

您好我正在尝试修复由另一位开发人员创建的旧代码。花了一段时间修复它与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设置的许多变体!

2 个答案:

答案 0 :(得分:3)

你考虑过使用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) );

答案 1 :(得分:0)

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

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