GNOME Shell is an eminently customisable desktop environment — even though it’s not always apparent.
Take the clock.
Sitting at the top of every modern Ubuntu desktop, this titular timepiece couldn’t be any more conspicuous.
And yet… The only clock customisation GNOME Shell supports out-of-the-box is a choice of showing a 12 hour clock or a 24 hour clock.
For most people this is fine. It’s a sane default: it tells you the date and time.
But what if you want to see seconds, see the weekday, or hide the date entirely?
Ways to Customise the Clock Layout
Your first port of call for time-tweaking on the Ubuntu desktop is the GNOME Tweaks tool. This (always handy) utility exposes options to show/hide weekday, date, and seconds, in any combination thereof.
If you want more control, like being able to change the time format, you can use a GNOME extension.
Most people use the Clock Override extension by Stuart Langridge. This is the go-to tool for changing the clock format in GNOME Shell. It lets you choose from a variety of pre-coded templates (including internet time), but you can construct your own format using standard strftime values.
My preferred date/time format is
%a %d %b %I:%M %p.
Stacked Time Layout
If you use GNOME 40 (or later) you should check out Date Menu Formatter extension. This offers most of the same features as Clock Override plus a few that I’ve not seen before.
For instance, if use a single-panel layout (hello, Dash to Panel users) you can split the date/time format across several lines (e.g., create a stacked time layout like Windows).
Just install the add-on, enable it, then enter
EE d MMM\nH:mm aa in the extension’s settings dialog.
Want to craft your own bespoke clock format? Have at it! The extension’s settings dialog gives a full overview of all the available pattern components (which differ from the standard strftime values).
To return to GNOME’s vanilla clock just disable the extension you installed.