I use the date function quite often in scripts, mainly to append date/time stamps to filenames. For example, something like this…
newtime=`date +%Y-%m-%d_%H%M` cp somefile $newtime-some_other_file
That particular format is the one I use most often, with the full date followed by the hours and minutes in 24 hour format: 2017-04-12_2315, for example. I use this one so that filenames wind up sorted by date order in Finder views.
Once I move beyond that format, though, the vagaries of date string formatting leave me dazed. Enter strftime.net, where you can build any date string you like using a point-and-click editor with real-time previews:
It doesn't get much easier than that.