Строка даты php для отметки времени - inverse_date()

Я ищу функцию, которая делает обратную дату(). Имея в виду:

$timestamp = inverse_date($format_string, $date_string);
$d = date($format_string, $timestamp);
if ($d === $date_string) {
    echo 'This is what I want';
}

Проблемы, с которыми я столкнулся до сих пор:

strtotime - угадывает формат, поэтому может не подходить для всех форматов

strptime — использует форматирование strftime, отличное от форматирования даты.

РЕШЕНИЕ:

function inverse_date($format_string, $date_string) {
    $dateTime = date_create_from_format($format_string, $date_string);
    $value_ts = date_format($dateTime, 'U');
    return $value_ts;
}

Спасибо Тиллю Хельге Хельвигу за ссылку.


person Gavriel    schedule 27.03.2012    source источник
comment
Может быть, это сообщение содержит что-то полезное для вас?   -  person Till Helge    schedule 27.03.2012
comment
каков ваш желаемый ввод и вывод? я не понимаю твой вопрос   -  person JKirchartz    schedule 27.03.2012
comment
почему strtotime не должен быть в порядке? вы можете преобразовать любую дату в английском формате в метку времени, и тогда метку времени легко отформатировать. Вы могли бы сначала подтвердить дату.   -  person F. Müller    schedule 27.03.2012
comment
мой желаемый ввод - это строка даты и строка формата (которую я знаю), а вывод - отметка времени. Мне нужно это, чтобы сравнить заданную строку даты с текущей отметкой времени, чтобы решить, было ли это в прошлом   -  person Gavriel    schedule 27.03.2012
comment
strtotime угадывает формат, поэтому я не могу на него положиться. Что вы подумаете, когда я дам вам 02.01.03 или 03-04-05?   -  person Gavriel    schedule 27.03.2012