Can't set date via shell
The following worked for me (once you have root permissions):

adb shell settings put global auto_time 0 &amp;&amp; adb shell date 010219302018.00 set &amp;&amp; adb shell am broadcast -a android.intent.action.TIME_SET


auto_time -> This is to switch off automatic syncing of time.

To reset the time back to syncing with the network, do:

adb shell settings put global auto_time 1 &amp;&amp; adb shell am broadcast -a android.intent.action.TIME_SET