ThinkPHP中查询一个时间段的数据
生活随笔
收集整理的這篇文章主要介紹了
ThinkPHP中查询一个时间段的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在實際操作的時候,需要從數據庫中查詢一個時間段的數據并返回使用,我在數據庫中設置如下:
????其中時間設置是datetime類型,沒使用時間戳的顯示,而是按照年月日時分秒的格式顯示的,然后想從數據庫中取出一個時間段之間的數據使用,首先想到使用一個between限制時間段在一個起始時間和終止時間之間,然后查詢這個時間段的數據。
$map['updatetime'] = array('between', array($start, $end)); $map['s_realid'] = $id; //有的地方寫著$map['updatetime'] = array('between', '$start, $end');經測試,這種寫法是錯誤的,沒有查詢結果 $result = M('Electric') ->where($map)->select();????$start和$end這兩個時間主要看個人設置,我在項目中需要顯示最近7天的數據分析,所以我取得數據是最新時間之前7天的數據,也使用了一些php的日期和時間戳函數,稍作總結下:
????我先從數據庫取得最新的updatetime,使用strtotime()函數轉換為時間戳,方便計算之前7天的時間,使用這個時間戳減去7天的毫秒數即得7天前的時間戳,然后分別使用date()函數轉換為日期,精確到秒,然后帶入到between中使用。
$max = strtotime($updatetime); $min = $max - 7*24*60*60; $start = date('Y-m-d H:i:s', $min); $end = date('Y-m-d H:i:s', $max);????注意一點的是,date()中'Y-m-d H:i:s'中的H大寫代表24小時制,小寫h代表12小時制。總結
以上是生活随笔為你收集整理的ThinkPHP中查询一个时间段的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Adv-Makeup:一种新颖不易察觉且
- 下一篇: 一体机配套软件安装