私はこの「2011-09-23 19:10:18」のように作成された日付を保存しましたそして、日付に達するまでの残りの日数と時間を取得したいと思います。それ、どうやったら出来るの?およびデータベースの列名の残りの日数は、残りの日数で毎日自動的に更新されます。これを解決してください
質問する
47461 次
6 に答える
29
PHP フラグメント:
<?php
//Convert to date
$datestr="2011-09-23 19:10:18";//Your date
$date=strtotime($datestr);//Converted to a PHP date (a second count)
//Calculate difference
$diff=$date-time();//time returns current time in seconds
$days=floor($diff/(60*60*24));//seconds/minute*minutes/hour*hours/day)
$hours=round(($diff-$days*60*60*24)/(60*60));
//Report
echo "$days days $hours hours remain<br />";
?>
時間単位であり、分/秒が考慮されていないため、多少不正確になる可能性があることに注意してください。
于 2011-09-19T17:28:12.957 に答える
22
これはあなたの努力の種になるはずです。
getdate(strtotime("2011-09-23 19:10:18"))
完全な変換:
$seconds = strtotime("2011-09-23 19:10:18") - time();
$days = floor($seconds / 86400);
$seconds %= 86400;
$hours = floor($seconds / 3600);
$seconds %= 3600;
$minutes = floor($seconds / 60);
$seconds %= 60;
echo "$days days and $hours hours and $minutes minutes and $seconds seconds";
于 2011-09-19T17:22:24.513 に答える
19
PHP 5.3.0 以降では、組み込みの Date オブジェクトを使用できます。
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
于 2011-09-19T17:37:31.067 に答える
1
それは次のようなものになります
echo $date = date("Y-m-d H:i:s");echo "\n";
$original=time($date);
$modified = "2011-09-23 19:10:18";
echo date("Y-m-d H:i:s",$modified);echo "\n";
于 2011-09-19T17:24:34.660 に答える
1
最も簡単な方法は、CountZero からの改善された回答です。オファーの有効期限が切れるまでの残り時間のカウンターにこのソリューションを使用しました。CountZero コードの最初の 3 行への追加:
$days = $interval->d;
$hours = $interval->h;
$minutes = $interval->i;
$seconds = $interval->s;
また、文字列関数を使用して戻り値を調整したり、すべてをマージしたり、値の前に '0' または '00' を追加したりできます。
于 2015-05-26T19:55:25.173 に答える