StrToTime это хорошо, но это не психическое или всезнающим. Вы кормите его в строку времени это не в состоянии разобрать правильно:
php > var_dump(strtotime('12-18-1997'));
bool(false)
Поскольку вы просто предполагали, что это успех, вы кормите, что false
обратно date()
, где он типа отливка в целое число 0. Тем не менее, ваш результат невозможен, поскольку int 0 в качестве даты - январь 1/1970. С перераспределением часового пояса это будет 31-12-1969
для вас, NOT18-12
.
Если вы не можете кормить StrToTime формат он понимает, а затем использовать date_create_from_format и сказать ему, что то, что формат:
$date = date_create_from_format('m-d-Y', '12-18-1997');
$text = date('d-m-Y', $date);
Пожалуйста, не пометить его дубликат. Если мне нужно преобразовать полную дату вместе со временем, тогда ее конвертация прекрасна, но в дату, о которой я писал, нет времени. –