Converting string to Date and DateTime

后端 未结 10 1745
伪装坚强ぢ
伪装坚强ぢ 2020-11-22 17:07

If I have a PHP string in the format of mm-dd-YYYY (for example, 10-16-2003), how do I properly convert that to a Date and then a DateTime

10条回答
  •  日久生厌
    2020-11-22 17:31

    Use strtotime() on your first date then date('Y-m-d') to convert it back:

    $time = strtotime('10/16/2003');
    
    $newformat = date('Y-m-d',$time);
    
    echo $newformat;
    // 2003-10-16
    

    Make note that there is a difference between using forward slash / and hyphen - in the strtotime() function. To quote from php.net:

    Dates in the m/d/y or d-m-y formats are disambiguated by looking at the separator between the various components: if the separator is a slash (/), then the American m/d/y is assumed; whereas if the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed.

    To avoid potential ambiguity, it's best to use ISO 8601 (YYYY-MM-DD) dates or DateTime::createFromFormat() when possible.

提交回复
热议问题