0

皆さん、相対的な日付と時刻のメッセージをユーザーに表示しようとしています。たとえば、ファイルが 5 秒以内に更新された場合、ユーザーに表示されるメッセージは「今すぐ更新されました」ですが、機能していないようです。

これが私が使用しているコードです

function relativeTime($date) {
    $timeNow = date('M d Y H:s');

     if ($date == $timeNow || $date == date('M d Y H:s', + 500)) {
         echo "Updated Just Now";

     } else {
         echo "not now";
     }
}

これは私がそれを表示し、引数を渡す場所です:

<?php relativeTime(dateUTCtoLocal("M d Y H:s", $arrSchool["updated"]));?>

最終的には、何分も何時間もそこにいる場合、いくつかの場合がありますが、これは正しい方法ですか?

前もって感謝します。

4

2 に答える 2

2

を使用して入力日付文字列を Unix タイムスタンプに変換し、strtotime()入力日付と現在時刻の差を計算して、差が 5 分未満 (5 * 60 = 300 秒) の場合はメッセージを表示できます。

function relativeTime($date) {
    $timeNow = date('M d Y H:s');
    $diff = strtotime($timeNow) - strtotime($date);

     if ($diff < (5*60)) {
         echo "Updated Just Now";
     } else {
         echo "not now";
     }
}
于 2013-10-17T14:03:51.210 に答える
0

基本的に、投稿された時刻が 5 秒以内かどうかを探しています。簡単ですが、タイムスタンプを使用する必要があります。フォーマットされた時間は良くありません。

relativeTime($arrSchool['updated']); // if it's a numeric timestamp
relativeTime(strtotime($arrSchool['updated'])); // if it's a datetime string

function relativeTime($timestamp) {
    if( $timestamp > time()-5) {
        echo "Updated Just Now";
    }
    else {
        echo "not now";
    }
}
于 2013-10-17T14:10:11.307 に答える