0

私はこれらの2つの日付をmysqlに保存しています:

2012-10-05
2012-10-10

php / mysqlを使用して日付が返されました。ここで、日付が何日離れているかを調べる必要があります。この例では、5日です。それを行うための最良の方法は何でしょうか?

4

4 に答える 4

1
SELECT DATEDIFF(date1, date2)
FROM yourtable

MySQLのドキュメントによると:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_datediff

datediff()は、date1 - date2日数の差を返します。

于 2012-06-09T05:09:34.013 に答える
1
$date1 = strtotime("2012-10-05");
$date2 = strtotime("2012-10-10");



$days = floor(abs($date2 - $date1)/ (60*60*24));

printf("%d days",$days);
于 2012-06-09T05:11:42.367 に答える
1
$date1 = new DateTime('2012-10-05');
$date2 = new Datetime('2012-10-10');
$interval = $date1->diff($date2);
echo $interval->format('%R%d days');  // +5 days
于 2012-06-09T05:14:04.627 に答える
1

このようなものを試してください:

$ date1 = "2007-03-24"; $ date2 = "2009-06-26";

$ diff = abs(strtotime($ date2)-strtotime($ date1));

$ years = floor($ diff /(365 * 60 * 60 * 24)); $ months = floor(($ diff-$ years * 365 * 60 * 60 * 24)/(30 * 60 * 60 * 24)); $ days = floor(($ diff-$ years * 365 * 60 * 60 * 24- $ months * 30 * 60 * 60 * 24)/(60 * 60 * 24));

printf( "%d年、%d月、%d日\ n"、$年、$月、$日);

于 2012-06-09T05:15:59.890 に答える