Надеюсь, у кого-то есть лучшее решение, но вот сценарий, который придумал я:
#!/bin/sh
cd /tmp
git init -q
git -c user.email=0 -c user.name=0 commit -q -m 0 --allow-empty --date="$1"
git show --format=%ar
Результат:
$ relative.sh 2016-1-23
2 years, 5 months ago
$ relative.sh 2016-9-23
1 year, 9 months ago