データベースからアイテムのリストを取得していますが、それぞれにCURRENT_TIMESTAMPがあり、これはtimeagoの助けを借りて「x分前」に変更されています。それはうまくいきます。しかし、問題は30分もかからないアイテムに "NEW"バナーが必要なことです。生成されたタイムスタンプ(たとえば、2012-07-18 21:11:12)を現在の時刻から30分以内に取得したら、その項目に「NEW」バナーをエコーすることができます。PHPタイムスタンプが30分未満であることを確認する
答えて
strtotime(「-30分」)を使用し、行のタイムスタンプがそれより大きいかどうかを確認します。
例:
<?php
if(strtotime($mysql_timestamp) > strtotime("-30 minutes")) {
$this_is_new = true;
}
?>
私はMySQLの日付をUnixタイムスタンプを取得し、その後、再びタイムスタンプが30分前だったものを得るために二回ここのstrtotime()を使用しています。 30分前のタイムスタンプがmysqlレコードのタイムスタンプより大きい場合は、30分以上経過して作成されている必要があります。
簡潔さの点では表示されません。 –
+1。ありがとう。これは私がやっていることよりもこれを行う良い方法です。私は現在: 'if($ post_date <(time() - 600))'を使っていますが、 'strtotime()'を使って普通の英語にするのは少し減算する秒数を見つけるよりも簡単です:) – Nathan
@ user1511331この回答を受け入れる必要があります([回答の受け取りはどうしますか?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235))あなたを助けました。 – Nathan
は、PHPのDateTimeオブジェクトを使用して、このような何かを試してみてください:
$now = new DateTime();
$then = DateTime($timestamp); // "2012-07-18 21:11:12" for example
$diff = $now->diff($then);
$minutes = ($diff->format('%a') * 1440) + // total days converted to minutes
($diff->format('%h') * 60) + // hours converted to minutes
$diff->format('%i'); // minutes
if ($minutes <= 30) {
echo "NEW";
}
編集:マイクは右である、私はどんな理由であれ、だけ%a
実際にこの場合の日でその種類の合計を(返すことを忘れてしまいました)。他のすべては時刻の書式を表示するためのものです。私は実際に働くために上記を拡張しました。
- 1. 現在の時刻とタイムスタンプの差が24時間未満であることを確認します
- 2. PHP - 文字列の文字数が4文字未満であることを確認してください。
- 3. UUIDを30文字未満にする
- 4. 分が0であることを確認する
- 5. JQueryサイズが2mb未満の画像を確認する
- 6. PHPで日付が過去30日であることを確認してください
- 7. MySQLとphp時間差分が1分未満の場合
- 8. csvファイルがPHPでUTF-8であることを確認
- 9. 式が0未満になることはないことを確認してください - ルビー
- 10. テキストボックスが空でなく、値が500未満であるかどうかを確認する方法
- 11. PHPでユーザ定義のパスが安全であることを確認する
- 12. PHPでmySQLデータベースのフィールドが空であることを確認するには
- 13. 計算グラフが微分可能であることを確認する方法
- 14. PHPスクリプトftpサーバがオンラインであることを確認するには?
- 15. 結合テーブルが空であることを確認する[PHPおよびMYSQL]
- 16. PHP:ムービーフォーマットがMKVまたはWMVであることを確認する方法
- 17. Cognitoのユーザーが未確認の状態であることを確認しました
- 18. Untarファイルが1日未満である
- 19. タイムスタンプ列で30分以上のギャップを検出する
- 20. PHPポストリクエスト未確認のインデックスエラー
- 21. タイムスタンプが最初の30分または2番目の30分に収まるときのPowerpivot DAXのタイムカウント
- 22. ASP.NETで接続がアクティブであることを確認する
- 23. Javaプログラムで 'stderr'が空であることを確認する
- 24. テレグラムユーザ名がテレグラムであることをJavaで確認する
- 25. タイムスタンプが30秒を超えていないか確認してください
- 26. 遅いカメラとアプリが分未満で閉じる
- 27. 未確認/未確認キャスト
- 28. PHPスクリプトが起動するまでに20〜30分待つことがあります
- 29. JavaScriptがsymfonyのPHPで同等であることを確認しました
- 30. php preg_match_allの演算子(<)未満の問題がある
time() - 30 * 60を使用することを誰も示唆していないのは興味深いことです。私がUNIXのタイムスタンプを整数として直接使用するのは唯一の人だろうかと思います。 – Mahn