2011-02-17 86 views
2

我的日期存储在我的MySQL表中,格式为yyyy-mm-dd(或典型的MySQL'日期'格式)。如何才能知道在那之前剩下多少日子?PHP中两个日期之间的完整日期?

等,例如,如果我有:

2011-03-05 

它会说:

17 More Days 
+0

见http://stackoverflow.com/questions/5010946/days-between-two-dates/ 5010969#5010969它使用PHP 5.3和OOP。 – Jacob 2011-02-17 00:48:13

回答

2

在PHP:

$days = (strtotime($date) - time())/86400; 

在MySQL:

SELECT 
    ((UNIX_TIMESTAMP(date) - UNIX_TIMESTAMP())/86400) AS days 
FROM table; 

或者作为@coreyward陈述(在MySQL):

SELECT 
    DATEDIFF(UNIX_TIMESTAMP(date,NOW()) AS days 
FROM table; 
1

在PHP 5 - 日期DIFF

http://php.net/manual/en/function.date-diff.php

您需要: (PHP 5> = 5.3.0)

如果没有,你可以使用此功能:

<?php 
$today = strtotime("2011-02-03 00:00:00"); 
$myBirthDate = strtotime("1964-10-30 00:00:00"); 
printf("I'm %d days old.", round(abs($today-$myBirthDate)/60/60/24)); 
?> 
0
+0

PHP示例中的接受答案很难看。我更喜欢我的答案在http://stackoverflow.com/questions/5010946/days-between-two-dates/5010969#5010969人们需要更多地使用OOP。 – Jacob 2011-02-17 00:49:39

+0

对同一问题的最高投票回答与您的基本相同。一个是六个,另一个是另一个... – coreyward 2011-02-17 03:12:36

相关问题