У меня есть функция, которая принимает строковую дату в формате 24.08.2010 и превращает ее в метку времени.У меня проблема в том, что даты, такие как 24.08.2090, конвертируются неправильно.
Вот моя функция:
/**
* Converts a date to a timestamp
* for a date formatted such as: 08/24/2010 12:00:00, 08-24-2010 12:00:00 or 08/24/2010
*
* @param string date
* @return string
*/
public static function dateToTimeStamp($date)
{
if (!strstr($date, ' ')) $date .= ' ' . date('h:i:s');
list($date, $time) = explode(' ', $date);
list($month, $day, $year) = (strstr($date, '/') ? explode('/', $date) : explode('-', $date));
list($hour, $minute, $second) = explode(':', $time);
$timestamp = mktime($hour, $minute, $second, $month, $day, $year);
return date('Y-m-d h:i:s', $timestamp);
}
Я только что прошел 30.09.2090 и получаюназад 1969-12-31 04:00:00, но когда я прохожу 30.09.2020, я возвращаюсь 2020-09-30 08:54:44.