This is a very basic design I must say.
In the US you have many time zones across the country
the same all around our world
Let each user define their time zone at registration time in the profile
and use this timeoffset from server time, positive or negative,
in all date and time presentations on a per user basis.
One alternative is to let admin define a timeoffset for all users
for the case that all users are in the same time zone
but the server in another time zone
and hence don't use timezone option at registration.
You can read more about time zones and UTC time in this
Wiki