2010-04-12 10 views
2

Этот запрос не возвращает записи за январь, но возвращает записи за февраль.Найти разницу между двумя датами в PHP или MySQL

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 
+0

много дубликатов: http://stackoverflow.com/questions/ 1203651/как-делать-я-легко определить, в-возраст-от-ан-день рождения-PHP-замкнутыми – user187291

ответ

3

Вы можете использовать this excellent function by Added Bytes, чтобы найти его, я думаю.

echo datediff('yyyy', '2009-09-24 21:09:36', '2010-03-04 13:24:58); 

Ознакомьтесь с параметрами функции для получения дополнительной информации.

1
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; 
} 
6
<?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"; 
1

Я установил свой возраст билет, используя следующий запрос MySQL.

DATEDIFF(CURDATE(),SUBSTR(ticket.created,1,10)) AS ticket_age 
2

Я обнаружил, что самый простой способ, чтобы найти разницу между двумя датами это одна:

<?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

Смежные вопросы