diary-mode have their limitations. However,
diary-mode is designed to present a span of time if so desired. Load the
diary-lib library with
M-x eval-expression RET (require 'diary-lib) RET and then type
M-x describe-function RET diary-list-entries RET to read about it. For more advanced searching and calendaring abilities, take a look at the built-in
calfw https://github.com/kiwanami/emacs-calfw . A quick grep of the Emacs built-in code revealed that the
cal-tex library is designed to work with the diary feature, if you use TeX/LaTeX that is.
See also the function
diary, which has a doc-string that states as follows:
"Generate the diary window for ARG days starting with the current date.
If no argument is provided, the number of days of diary entries is governed
by the variable `diary-number-of-entries'. A value of ARG less than 1
does nothing. This function is suitable for execution in an init file."
And, of course, the above doc-string mentioned that the variable
diary-number-of-entries is customizable.
diary-view-entries also looks interesting, so check that out too:
"Prepare and display a buffer with diary entries.
Searches the file named in `diary-file' for entries that match
ARG days starting with the date indicated by the cursor position
in the displayed three-month calendar."