ThinkPHP は、開発者が PHP 言語に基づいてアプリケーションを迅速に構(gòu)築できるようにするオープン ソースの Web アプリケーション開発フレームワークです。実際のアプリケーションでは、時(shí)間クエリは一般的な要件ですが、この記事では、ThinkPHP フレームワークで時(shí)間クエリを?qū)g行する方法を紹介します。
- タイムスタンプ クエリ
タイムスタンプは、グリニッジ標(biāo)準(zhǔn)時(shí) 1970 年 1 月 1 日の 0:00:00 から現(xiàn)在までの合計(jì)秒數(shù)を指します。 ThinkPHP では、timestamp() 関數(shù)を直接使用して現(xiàn)在時(shí)刻のタイムスタンプを取得することも、strtotime() 関數(shù)を使用して時(shí)刻をタイムスタンプに変換することもできます。
たとえば、過去 1 時(shí)間以內(nèi)のデータをクエリできます:
$last_hour?=?time()?-?3600; $data?=?Db::table('user')->where('create_time',?'>',?$last_hour)->select();
上の例では、time() 関數(shù)は現(xiàn)在時(shí)刻のタイムスタンプを取得し、3600 を減算して 1 を取得します。秒數(shù)時(shí)間前のタイムスタンプ。最後に、where() 関數(shù)を使用して、基準(zhǔn)を満たすレコードをフィルターします。
- 日付クエリ
日付クエリでは、日付書式設(shè)定関數(shù)を使用する必要があります。 ThinkPHP では、DateTime クラスの date() 関數(shù)と format() メソッドを使用して日付をフォーマットできます。
たとえば、今日より前のレコードをクエリできます:
$today?=?date('Y-m-d'); $data?=?Db::table('user')->where('create_time',?'<', $today)->select();
上の例では、date() 関數(shù)が現(xiàn)在の日付を取得し、where() 関數(shù)を使用して日付をフィルターします?,F(xiàn)在の日付のレコードよりも小さい作成時(shí)刻 (create_time)。
- 期間クエリ
期間クエリでは、クエリ範(fàn)囲を制限するために between ステートメントを使用する必要があります。 ThinkPHP では、whereTime() 関數(shù)または whereBetween() 関數(shù)を使用して期間クエリを?qū)g裝できます。
たとえば、昨日から今日までのレコードをクエリできます:
$start_time?=?date('Y-m-d?00:00:00',?strtotime('-1?day')); $end_time?=?date('Y-m-d?23:59:59'); $data?=?Db::table('user')->whereTime('create_time',?'between',?[$start_time,?$end_time])->select();
上の例では、strtotime() 関數(shù)は昨日の開始時(shí)刻を生成し、timestamp() 関數(shù)は次のようにすることもできます。タイムスタンプを取得するために使用されます。次に、whereTime() 関數(shù)を使用して、時(shí)間範(fàn)囲に一致するレコードをフィルターします。
- 時(shí)間間隔クエリ
時(shí)間間隔クエリでは、where() 関數(shù)と between ステートメントを組み合わせて使用??する必要があります。 ThinkPHP では、whereBetweenTime() 関數(shù)を使用して時(shí)間間隔クエリを?qū)g裝することもできます。
たとえば、5 月 1 日から 6 月 1 日までのレコードをクエリできます。
$start_time?=?date('Y-m-d?H:i:s',?strtotime('2019-05-01')); $end_time?=?date('Y-m-d?H:i:s',?strtotime('2019-06-01')); $data?=?Db::table('user')->where('create_time',?'between',?[$start_time,?$end_time])->select();
上の例では、strtotime() 関數(shù)を使用して開始時(shí)刻と終了時(shí)刻を取得し、 where () 関數(shù)と between ステートメントを使用して、要件を満たすレコードをフィルターします。
要約すると、時(shí)間クエリはデータ分析と処理の効率を向上させることができる非常に実用的な機(jī)能です。 ThinkPHP フレームワークでは、タイムスタンプ、日付、期間、および時(shí)間間隔に基づいて時(shí)間クエリを?qū)g行するのが非常に便利です。上記の內(nèi)容が皆様のお役に立てれば幸いです。
以上がThinkPHP フレームワークで時(shí)間クエリを?qū)g行する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)