У меня есть две переменные даты. Как преобразовать $ time обратно в исходную дату(), чтобы сравнить две переменные времени $?Как сравнить дату() в PHP?
$time = date('H:i');
У меня есть две переменные даты. Как преобразовать $ time обратно в исходную дату(), чтобы сравнить две переменные времени $?Как сравнить дату() в PHP?
$time = date('H:i');
Интересный факт о дате/времени: Если вы держите их в большом формате обратного порядка (т. Е самый левый элемент является самым большим), то они могут быть отсортированы как строки.
Пример: Y-m-d
(aside) даст даты как 2014-02-19
, которые вы можете сравнить в виде строки на другую дату, например, 2014-01-29
, чтобы получить результат (в данном случае, первый больше).
Время: H:i
big-endian (часы больше, чем минуты), и в результате вы можете сравнить вещи как 14:23
с 09:12
успешно.
PITFALL: Всегда используйте нумерованные версии таких вещей, как число дней и часов, в противном случае сравнение будет неправильным для значений менее 10. Кроме того, вы не можете использовать 12-часовое время, если не поместите AM/PM до Час в вашем формате (потому что это сохранит законность).
Я использую это много для сравнения дат^_^
Используйте diff()
функция из класса DateTime. http://www.php.net/manual/en/datetime.diff.php
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
Спасибо! Тем не менее, формат даты 05:43, 13:21, 23:59 ... и т. Д. Будет ли это работать? – user2799603
Для сравнения даты и времени вы можете просто использовать время, которое у вас есть. Если вы хотите получить полную дату из функции 'date ('H: i')', вы можете использовать 'strtotime (date ('H: i'))', чтобы получить отметку времени сгенерированного времени. – frietkot
Так как же я на самом деле сравнить два? 2014-02-19 & 2014-02-29 – user2799603
'<', '>' и '==', как и все остальное. –
Действительно? Данг это хорошо! – user2799603