Строка времени с PHP <= 5.1.6 (DateTime :: CreateFromFormat недоступен)? - PullRequest
0 голосов
/ 15 июля 2011

Все, что мне нужно, это сравнить даты, представленные строковыми значениями в формате dmy (например, 15.07.11 на сегодня).

strtotime, к сожалению, дает мне неправильные результаты (возможно, потому чтоформата).Я нашел ответ на свой вопрос ( PHP strtotime неправильное преобразование ), но DateTime::CreateFromFormat недоступно в моей версии PHP.Я не смог найти strfptime, но думаю, что автор ответа означал strptime.Результатом strptime является массив.Я был удивлен, что могу сравнивать массивы, но результат сравнения недействителен.

Какой самый простой способ сравнить даты в данном формате строки с PHP <= 5.1.6? </p>

1 Ответ

1 голос
/ 15 июля 2011

Вы всегда можете передать результат strptime в mktime и получить пригодную для использования метку времени Unix, которую можно сравнить или передать объектам DateTime.

<?php
    $d = strptime('15.07.11', '%d.%m.%y');
    $timestamp = mktime($d['tm_hour'], $d['tm_min'], $d['tm_sec'], $d['tm_mon'], $d['tm_mday'], 1900 + $d['tm_year']);
    echo date("j F Y", $timestamp);
?>

Единственное, что нужно посмотретьДело в том, что strptime дает год как число лет с 1900 года, а mk_time просто берет год, поэтому я добавил к нему 1900.

...