Time zones dates in vb.net 2005

S

Steve

Hi All

I need to compare date times from 2 different states in Australia in a
Program I have which determines which way to update SQl server 2005 tables
based on the lastupdate (datetime field) datetime

Each location updates the lastupdate field based on the current local
datetime at the the time of saving to SQL server

Perth for example is 2 hours behind Melbourne

How is the best way to do this

Convert both times to UTC first?

Regards
Steve
 
S

Steve

Hi All

Further to the above post

The times can change based on the time of year, as not all states in
Australia use daylight saving and those that do don't always change at the
same time

Regards
Steve
 
A

Armin Zingler

I see three ways to store the information:

a) Store UTC only (one field). It is sufficient but afterwards you won't
know at which local time offset it has been stored. It is not necessary if
you don't want to know it.
b) Store UTC (one field) and local time offset (+10 or whatever) in another
field.
c) Store local time and local time offset. By subtracting the latter from
the former, you get UTC.


b) and c) are a matter of taste. They contain the same information. I'd
probably go for b). c) is more like what is used in mail headers ("23:17
+1000" is local time + time offset).

Internally, you can always use and calculate with the UTC datetime values.
If you take the current, local date (Datetime.Now) into your calculations,
also convert to UTC before doing the calculations or before storing it in
the DataRow (later Database). Only convert to local time whenever you want
to display the local time, and convert to UTC when converting input to a
DateTime value.

I guess you know that DateTime provides the ToUniversalTime and ToLocalTime
methods.


Armin
 
S

Steve

Hi Armin

Thanks for the reply

Great explanation

As only the synchronising code uses these dates I have gone with A

I have set the region on 1 computer to 'Perth Australia' and the other is on
'Canberra, Melbourne, Sydney' and it works a treat

Regards
Steve
 
A

Armin Zingler

Steve said:
Hi Armin

Thanks for the reply

Great explanation

Was a pleasure. :)
As only the synchronising code uses these dates I have gone with A

I have set the region on 1 computer to 'Perth Australia' and the other is
on 'Canberra, Melbourne, Sydney' and it works a treat



Armin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top