◆ author date : --date
◆ commiter date : GIT_COMMITTER_DATE

git には 最初にコミットしたときの author date と rebase や cherry pick をしたタイミングの commiter date があります

autor date は --date で変更できるのですが commiter date はオプションで変更できません
環境変数 GIT_COMMITTER_DATE に指定しておく必要があります

直前のコミットの author date を 2017/05/31 11:22:33 にして commiter date を 2017/05/31 10:11:22 にする例です
GIT_COMMITTER_DATE="2017-05-31 10:11:22 +0900" git commit --amend --date="2017-05-31 11:22:33 +0900"

author date は基本変わらないのでリベースなどで日時の順番がばらばらになりますが commiter date は通常コミットを更新した時刻なのでツリーの順番どおりになってます
なので無理矢理変えてしまうとツリーの表示ツールによっては表示が崩れてしまうので注意が必要です

また git コマンド実行中の環境変数に GIT_COMMITER_DATE が必要なので 2 行で書くと動きません
GIT_COMMITTER_DATE="2017-05-31 10:11:22 +0900"
git commit --amend --date="2017-05-31 11:22:33 +0900"

1 行でかかないと実行するコマンドの中の環境変数になりません
[m.saki@fedora ~]$ FOO="BAR" python3
Python 3.5.3 (default, Mar  8 2017, 18:16:59)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ["FOO"]
'BAR'
>>> exit()
1 行だと python の中で FOO が環境変数にあります
[m.saki@fedora ~]$ FOO="BAR"
[m.saki@fedora ~]$ python3
Python 3.5.3 (default, Mar  8 2017, 18:16:59)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ["FOO"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.5/os.py", line 725, in __getitem__
    raise KeyError(key) from None
KeyError: 'FOO'
>>> exit()

2 行だと python の中で FOO が環境変数にありません