date on MacOS does not support
--date, so a workaround is needed.
Converting Date to unix epoch, adding one day in epoch and converting back.
The Scripty Way
Taken from a blog post
#!/bin/zsh start=$year-01-01 end=$year-12-31 currentDateTs=$(date -j -f "%Y-%m-%d" $start "+%s") endDateTs=$(date -j -f "%Y-%m-%d" $end "+%s") offset=86400 while [ "$currentDateTs" -le "$endDateTs" ] do date=$(date -j -f "%s" $currentDateTs "+%Y-%m-%d") echo $date currentDateTs=$(($currentDateTs+$offset)) done
The Brew Way
As I found out long after writing the above you can simply
brew install coreutils and get a date command with the
The only thing to note there is this:
Commands also provided by macOS have been installed with the prefix "g".
So the proper date command can now be accessed as