The following commands work as expected (using commit b06d364310 in the git://git.kernel.org/pub/scm/git/git.git repo as test case): $ export TZ=Europe/Berlin $ git --no-pager log -1 --pretty="%ad" --date=iso b06d364310 2017-05-09 23:26:02 +0900 $ git --no-pager log -1 --pretty="%ad" --date=iso-local b06d364310 2017-05-09 16:26:02 +0200 However, if I use explicit format: then the output of the time zone is wrong: $ git --no-pager log -1 --pretty="%ad" --date="format:%F %T %z" b06d364310 2017-05-09 23:26:02 +0000 $ git --no-pager log -1 --pretty="%ad" --date="format-local:%F %T %z" b06d364310 2017-05-09 16:26:02 +0000 I would expect the output to be the same as in the first two examples.