code/controller/TimedNoticeAdmin.php
public function getList()
    {
        $list = parent::getList();
        $r = $this->getRequest();
        if ($q = $r->requestVar('q')) {
            if (isset($q['Status'])) {
                $status = $q['Status'];
                $now = date('Y-m-d H:i:s');
                if ($status == 'Future') {
                    return $list->where("StartTime > '$now'");
                } else if ($status == 'Expired') {
                    return $list->where("EndTime < $now");
                } else if ($status == 'Current') {
                    return $list->where("
                        StartTime < '$now' AND
                        (EndTime > '$now' OR EndTime IS NULL)
                    ");
                }
            }
        }

        return $list;
    }
public function getList()
    {
        $list = parent::getList();
        $r = $this->getRequest();
        if ($q = $r->requestVar('q')) {
            if (isset($q['Status'])) {
                $status = $q['Status'];
                $now = date('Y-m-d H:i:s');
                if ($status == 'Future') {
                    return $list->where("StartTime > '$now'");
                } else if ($status == 'Expired') {
                    return $list->where("EndTime < $now");
                } else if ($status == 'Current') {
                    return $list->where("
                        StartTime < '$now' AND
                        (EndTime > '$now' OR EndTime IS NULL)
                    ");
                }
            }
        }

        return $list;
    }
Custom filtering on "Status"

@return Form