Act on the view before the query is built, but after displays are attached.
Output can be added to the view by setting $view->attachment_before and $view->attachment_after.
\Drupal\views\ViewExecutable $view: The view object about to be processed.
function hook_views_pre_build(ViewExecutable &$view) {
  // Because of some unexplicable business logic, we should remove all
  // attachments from all views on Mondays.
  // (This alter could be done later in the execution process as well.)
  if (date('D') == 'Mon') {
    unset($view->attachment_before);
    unset($view->attachment_after);
  }
}