-1

日付を「 15-10-2012 」としてデータベースに保存しましたが、日付が1日以内の場合はフロントエンドに表示します。2分経過、5時間前などを表示する必要があります。

どうすればこれを達成できますか?前もって感謝します。

入力

15-10-2012

出力

"2 days ago"  
4

3 に答える 3

1

この記事を参照してくださいhttp://www.ozzu.com/programming-forum/mysql-selecting-timestamp-from-database-now-minute-t82112.html

そして、MYSQLの間隔 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.htmlを見てください。

私はこれがあなたを助けると思います: WHERE UNIX_TIMESTAMP(your_date) > (NOW() - INTERVAL 5 MINUTE)

于 2012-10-16T10:27:40.480 に答える
0

最初に日付からUNIXタイムスタンプを計算し、次に現在の時刻から減算して、差を分/時間/日で変換します。

list($day,$month,$year) = explode('-', $date);
$time = mktime(0,0,0,$month,$day,$year);
$now = time();
$difference = $now - $time;
$minutes = intval($difference / 60);

$hours = intval($minutes / 60 ); 

if ($hours > 24) {
   $days = intval($hours / 24);
}
于 2012-10-16T10:10:56.667 に答える
0

(日-月-年を想定)

2分前:

echo date('jnY'、strtotime( '15-10-2012')-120);

または:

エコー日付('jnY'、strtotime('15 -10-2012 -2分'));

実際には、開始日は秒までのタイムスタンプである必要があります。日/月/年だけを保存する場合は、各日付が00:01に始まると想定する必要があります。

于 2012-10-16T10:31:39.000 に答える