In addition to @Malvineous answer:
If you use the user's current time zone as a reference, you can use Git to convert the DST. This did the trick for me, fixing all the temporary fix points in the current time zone, including changing the DST.
git filter-branch --env-filter ' if [ "$GIT_AUTHOR_EMAIL" == " email@example.com " ]; then GIT_AUTHOR_DATE=`echo $GIT_AUTHOR_DATE|sed -e "s/[+-][0-9]\{4\}//g"` fi if [ "$GIT_COMMITTER_EMAIL" == " email@example.com " ]; then GIT_COMMITTER_DATE=`echo $GIT_COMMITTER_DATE|sed -e "s/[+-][0-9]\{4\}//g"` fi '
The sed string disables the time zone. Git takes care of the rest.
Note that this does not support the explicit time zone, as originally requested, but takes care of the DST.
Note: In the original answer there were additional lines using date , e.g.
GIT_AUTHOR_DATE=`date --date=$GIT_AUTHOR_DATE`
However, this is not necessary because descriptors use the current time zone (including DST) when none are specified. Therefore, it is enough to cut the time zone.
source share