This library offers an alternative to calendar. It’s very similar and offer only a few options, like the possibility to color day according to the number of item in the org-agenda.
Using a regular buffer:
(require 'nano-calendar)
(nano-calendar)
(message (format-time-string "%A %d %B %Y") (nano-calendar-current))
Using minibuffer:
(require 'nano-calendar)
(let ((date (nano-calendar-prompt)))
(message (format-time-string "%A %d %B %Y") date))