Ah, sorry, you “snap on ubuntu” in the title and the choice of the “snap” section kind of made it sound like snap on classic …
theoretically:
sudo timedatectl set-timezone <timezone>
should work … and it definitely does for me on all images:
ogra@nanopi-air:~$ sudo timedatectl set-timezone Europe/Berlin
ogra@nanopi-air:~$ date
Tue Sep 19 11:47:06 CEST 2017
ogra@nanopi-air:~$ sudo reboot
Connection to 192.168.2.35 closed by remote host.
...
$ ssh 192.168.2.35
...
ogra@nanopi-air:~$ date
Tue Sep 19 11:48:30 CEST 2017
What image (stable, edge ?) on what device are you using ?
Is this a self-created image or one of our reference ones and did you also use a proper timezone when calling the command … (“timedatectl list-timezones” lists all valid options)