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;
}

原文链接:https://blog.yongit.com/note/150538.html