views:

58

answers:

2

From what I have researched it is not possible to change the Timezone of a thread. So my question is why can't you?

I would have thought switching your application's culture to a specific country would also switch this, seems like expected behaviour IMO.

Edit

After revising I can see the reason why it probably shouldn't be mapped 1:1 by default. However, I still feel it would be a nice feature to be able to change the Timezone per thread.

+7  A: 

They aren't a 1:1 so they're not really connected. If you set the current culture to en-US, which timezone is that? :)

Several countries have more than 1 timezone, so setting the culture (which is not country specific either for that matter), doesn't really have much to do with the timzone.

Nick Craver
@Nick: +1 Good point! Never thought about it that way. Wouldn't it have been a good idea to do this for ones that *don't* have multiple timezones though?
James
@James - Nope :) You should always go for *consistent* behavior in an API rather than "do this in *some* cases *if* you can", that's asking for trouble and helpdesk calls. Predictable > doing as much as possible
Nick Craver
@Nick: I would have been nice if the CurrentCulture had an overload that took in the Timezone id though :)
James
@James - Extension method! :)
Nick Craver
+3  A: 

Culture is one thing, time zone is another. Suppose you're a South African citizen working in New York, USA. Obviously you want your time zone to be EST (GMT -5), since that's where you are; from what you're suggesting, however, then if you also set your culture to "af-ZA," as you might want to, doing so would automatically change your time zone to GMT +2.

Dan Tao
@Dan: Yeah after revising I realise they probably shouldn't be mapped by default. However, would be nice if you could set the Timezone of the thread also.
James
@James: That would indeed be nice. There are certainly other ways of tackling this problem, though. For instance could your application maintain its own offset from UTC -- which could be modified during runtime -- and use this offset in all places where the time is needed?
Dan Tao
@Dan: At the moment I do have a solution and doing the conversions on the fly. Just thought it would be easier if I could change the Timezone per thread and eliminate the conversions completely.
James