MacOS – Changing Date Format on Menu Bar Without Extra Apps

clockinternationalizationmacosmenu bar

This is how it looks right now

This is how it looks right now

These are my "Language & Region" settings

These are my customization settings

There is clearly a bug involved. I don't want use an app to solve such ridiculously simple prolem. It should be reading this format from somewhere right?

Best Answer

I don't know whether you ever got the above method to work, but it never did the trick for me. However, I seem to have found a way that works without resorting to a 3rd party app. I was pulling my hair out about this because I wanted to have a '.' as the time separator, and even when using the defaults command like so:

defaults write com.apple.menuextra.clock "DateFormat" "EEE MMM d  H.mm"

It would successfully assign the value, but every time I killed the menu bar, it would inexplicably revert to the default format. I'm not sure how permanent this will be, but I did a quick loop in bash and after running it for a few seconds, I killed the menu bar from a separate shell, and then returned to the loop and killed it - voilà!

So, basically from shell 1:

while true;

    > do;
    > defaults write com.apple.menuextra.clock "DateFormat" "EEE MMM d  H.mm";
    > done;

...then in another shell:

killall -KILL SystemUIServer

And then return to the first shell and kill the loop. I haven't restarted yet, but so far the change has stuck. HTH!