datetime: adjust timezone code

- update timezone interface
- adjust datetime code
- fixed sync time error when timezone changed

tower: https://tower.im/projects/8f19f0bf0e754f0b82ef2c24bc230973/todos/02bd7e1d22f147578173f12497e8db48/
tower: https://tower.im/projects/8f19f0bf0e754f0b82ef2c24bc230973/todos/11511ba41be74f0f968058a8cccf2d83/
Change-Id: I27deb7eb996ce22dd6daf0fc14b7878b3cde4914