Этот запрос не возвращает записи за январь, но он возвращает записи за февраль.
SELECT EventAsstCharged,CustomerName,EventID ,EventName,EventExpectedCharges,EventActuallyCharged,EventUserCharged,date_format(EventDate,'%d-%m-%Y') as EventDate ,EventTime FROM tblevent WHERE Status=1 AND date_format(EventDate,'%d-%m-%Y') between '01-01-2011' AND '20-02-2011' AND EntryUser=2 AND Status=1 ORDER BY EventID DESC
Как найти возраст между двумя датами с помощью PHP или MySQL?
2009-09-24 21:09:36 2010-03-04 13:24:58
<?php $diff = strtotime('2010-03-04 13:24:58') - strtotime('2009-09-24 21:09:36'); echo "Difference is $diff seconds\n"; $days = floor($diff/(3600*24)); echo "Difference is $days days\n";
Вы также можете сделать это на уровне базы данных с помощью функции DATEDIFF()
.
Я думаю, вы можете использовать эту превосходную функцию, добавив Bytes, чтобы найти ее.
echo datediff('yyyy', '2009-09-24 21:09:36', '2010-03-04 13:24:58);
Проверьте параметры функции для получения дополнительной информации.
Я обнаружил, что самый простой способ найти разницу между двумя датами:
<?php // Get current time, or input time like in $date2 $date1 = time(); // Get the timestamp of 2011 July 28 $date2 = mktime(0,0,0,7,28,2011); ?> <?php $dateDiff = $date2 - $date1; $fullDays = floor($dateDiff/(60*60*24)); echo "$fullDays"; ?>
Источник: http://www.phpf1.com/tutorial/php-date-difference.html
function dateDiff($endDate, $beginDate) { $date_part1=explode(" ", $beginDate); $date_part2=explode(" ", $endDate); $date_parts1=explode("-", $date_part1[0]); $date_parts2=explode("-", $date_part2[0]); $start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]); $end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]); return $end_date - $start_date; }
Я установил свой возраст для билета, используя следующий запрос MySQL.
DATEDIFF(CURDATE(),SUBSTR(ticket.created,1,10)) AS ticket_age