在PHP中从字符串获取日期而没有时间

时间:2018-08-16 08:02:10

标签: php symfony-3.2

我必须将输入的日期为“ 1990/07/22”的字符串转换为1990年7月22日,我的功能如下:

public function($date){
    $date_format_sec = strtotime($date);
    $date_of_birth = new \DateTime('@'.$date_format_sec);
}

由于我没有给时间,它上传的日期是1990年7月21日。如何获得与输入相同的确切日期。

4 个答案:

答案 0 :(得分:2)

您可以使用php格式化日期

$formatedDate = $date_of_birth->format('d-m-Y');

Documentation

答案 1 :(得分:1)

    $input = '1990/07/22';
    $date = \DateTime::createFromFormat('Y/m/d', $input)->format('d-m-Y');

答案 2 :(得分:1)

正如我所说,您不需要使用strtotime,如果$ date字符串是有效日期,则DateTime类将读取它。之后,您可以使用格式。

在此示例中,我将格式设置为始终期望的格式,同时可以放置它接受的任何其他格式。

public function getMyDate($date, $format = 'd/m/Y') {
    $date_of_birth = new \DateTime($date);

    return $date_of_birth->format($format);
}

答案 3 :(得分:-2)

    public function formatDate($date) {return date('d/m/Y', strtotime($date));}