mysql 当年今日
直接使用mysql的DATE_FORMAT函数即可,不用复杂化。
DATE_FORMAT定义:DATE_FORMAT(date, format)
DATE_FORMAT函数的参数参考:
%e日,如0-31
%d日,如00-31
%m月,如00-12
%Y年,如2020
%y年,如20%H时,如01-23
%h时,如01-12
%i分,如00-59
%s秒,如00-59%U周,周日是开始
%u周,周一是开始
参考例程
以下是php kohana的实现,可以参考,获取的是历史同一周的记录,其他的参阅DATE_FORMAT函数的参数即可。
public function action_index()
{
$total = ORM::factory('Says')->count_all();
$orm = ORM::factory('Says');
$orm->where(DB::expr('DATE_FORMAT(CURRENT_TIMESTAMP,"%u")'),'=',DB::expr('DATE_FORMAT(`addtime`,"%u")'));
$pagination = Pagination::factory(array(
'total_items' => $orm->total(),
'items_per_page' => 20,
'view' => 'pagination/floating',
));
$orm->limit($pagination->items_per_page);
$orm->offset($pagination->offset);
$orm->order_by('id', 'ASC');
$data = $orm->find_all();
$content = View::factory('Olding/index')
->set('data', $data)
->set('pagination', $pagination);
$this->template->content = $content;
}