MySQLの最後のdatetime
スタンプから1時間経過しているかどうか確認したいと思います。 PHPを使ってどうすればいいですか?MySQL DATETIMEスタンプとの時間比較チェック
答えて
これを行う最もクリーンな方法は、MySQLではDATE_SUB(または目標に応じてDATE_ADD)を使用する方法です。たとえば、次のように
SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR)
同様に、あなたが「1 DAY」またはように「1分」など他のものとの「1 HOUR」を置き換えることができます。私はいつも日付が共通のフォーマットとGMTオフセットで保存されていると思われるので、データベースレベルで日付比較をすることをいつも好みます。
このlinkは、PHP> = 5.3のdate_diffについて説明しています。また、古いバージョンの解決策を回避するものもあります。
$db_time = strtotime($row->timestamp_col);
$age = 60 * 60;
if ($db_time < (time() - $age)) {
doSomething();
}
これは不必要に分解され、どのように動作するかを見ることができます。
$now = time();
$dbDate = strtotime($row['datetime']);
if ($now > $dbDate + 3600) {
// yes
}
あなたは、おそらく代わりに、MySQLでこの全体のことを行う必要がある可能性があり
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
あなたのクエリを使用して日時フィールドと現在時刻との時差を確認し、その結果を返すことができます行。
私はあなたがこれを行うことができるか分からなかったので、私はPHPを選んだのです。 – Strawberry
だから 'TIMEDIFF(CURTIME()、$ dbDateTime)'を使うのは正しいでしょうか?私は例を得ることができますか? – Strawberry
あなたはまだphp変数を使用しているようですか? db datetimeフィールドを直接データベースから取り出します。 SELECT TIMEDIFF(CURTIME()、name_of_datetime_field)のようなものです。AS time_diff FROM table_name WHERE id = blah LIMIT 1などです。データベースから日時の値を取得しているのと同じクエリで取得します。 – dqhendricks
このチェックをクエリに入れます。その後、MySQLの日付比較を使用することができ、PHPはそれを知っているか気にする必要はありません。
- 1. 時間と評価のdatetimeの比較
- 2. DateTimeと24時間を比較する
- 3. MySQL datetimeと前回の行の比較
- 4. Python時間とdatetimeとmxDateTimeとの比較
- 5. MySQLクエリ、datetimeを比較
- 6. DateTime in C#+日時比較
- 7. システム時間とユーザ入力時間を比較するPHP mysql
- 8. MySQL:時間の比較結果で
- 9. mysql - unix時間とdatetime
- 10. datetimeに1時間を追加し、時間と分に基づいて現在の時間と比較する
- 11. datetimeの時間部分のみを比較する - Python
- 12. PHPでMySQL Datetimeを使用して時刻を比較する
- 13. MySQLの選択:WHERE(時間)=テーブル値とテーブル値の比較
- 14. Pythonでdatetimeモジュールを使用して時間を比較する
- 15. Drools:Joda DateTimeの比較
- 16. SQL(mysql)の比較時間が間に合わない
- 17. VBAの時間を比較
- 18. 実行時間の比較
- 19. Dの時間比較D
- 20. 時間範囲の比較
- 21. Androidの比較時間
- 22. javascriptでの比較時間
- 23. Excel時間の比較
- 24. SystemCの時間比較
- 25. 時間の比較とvbの相違
- 26. LaravelとMySQLを使って時間を比較
- 27. 時間と文字列の比較
- 28. C#DateTimeとMySqlの日付を比較します
- 29. MySQLの比較と '%'
- 30. は時間を比較し
私はいつもデータベースのための 'UNIX_TIMESTAMP'をphp側で操作しやすいように保存したいと思っています。 – RobertPitt
@RobertPitt - UNIX_TIMESTAMPを使用することはお勧めしません。 – mauris
@RobertPittあなたは 'DATE_SUB'とその友達を使うのに問題があります。 – alex