you can get the timezone offset in javascript. We use that to initialize session data so we know what the browsers timezone offset is.

but most times you really dont want to use that. on a desktop it is generally not an issue to use the local timezone on the PC but in a browser it isnt as clear.
the user may be using a mobile device that changes timezones automatically or a browser in a hotel that isnt in the timezone the user normally works in etc.

more likely you want a user to be tagged with a specific timezone no matter what timezone the browser is in.
again this is for the majority of business applications. of course some applications will require the use of the browsers timezone

we actually use a combination of the browsers timezone, the timezone set in the user profile and timezones specific to objects in the database.

for example when a user looks at his schedule it would be shown in the users timezone but when you schedule a visit in a facility the facilties timzeone would be used

this all depends on the application of course. if all the data is local to a single timezone then a fixed timezone can be used for the app as well

but again these are all just options that depend on the application. In the end each applications design will dictate how to use timezones and if they are needed at all