今天工作的時候遇到乙個問題,乙個模組的資料表只存了乙個時間字段 add_time ,但是搜尋是區間的。
這個時候就可以用我的辦法來解決了。這個問題比較常見,故而整理下來。
操作時間 start_time" id="start_time" value="" class="wdate" οnfοcus="wdatepicker()" size="15">
~end_time" id="end_time" value="" class="wdate" οnfοcus="wdatepicker()" size="15">
start_time 和 end_time 是資料庫中沒有的,
add_time 資料庫中儲存的是這個字段
接著需要在model中定義屬性,start_time和end_time,因為需要在search方法中用到
public $starttime;
public $endtime;
在執行搜尋的控制器**處,增加
$model->attributes = $_post['queryparams'];
$_get['page'] = $_post['page'];
$model->starttime = $_post['queryparams']['start_time'];
$model->endtime = $_post['queryparams']['end_time'];
這個時候程式對去找model中的search,在search方法中接著處理
$criteria=new cdbcriteria();
$criteria->compare('order_type',$this->order_type);
$criteria->compare('order_id',$this->order_id);
$criteria->compare('order_sn',$this->order_sn);
$criteria->compare('operator',$this->operator);
$criteria->compare('notes',$this->notes);
$criteria->compare('front_show', $this->front_show);
if($this->endtime)
if($this->starttime)
$criteria->order = 'order_id';
這樣就解決了。
但是這樣並不等於完成了,因為方法原理你明白了?
原理:利用model類中的屬性 start_time和end_time ,在執行這個方法的時候先給他們賦值,在執行search方法的時候再去呼叫賦的值。
對時間的封裝util
將乙個秒數的時間轉成形如00 00 00字串 public static string parsetime string date else else if integer.parseint curday integer.parseint day 2 else else else return da...
SQL 對時間的處理
獲取當前日期 如 yyyy mm dd select datename year,getdate datename month,getdate datename day,getdate 獲取當前日期 如 yyyy mm dd select datename year,getdate datename...
js對時間的操作
獲取當前時間 var mydate new date 獲取時間中的年月日時分秒 mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲...