Non ho idea se e dove stai sbagliando, dato che non conosco il tuo codice.
In effetti la GetUtcOffset non è proprio indispensabile, anche se può risultare utile.
Ti mostro come ho fatto io, così puoi confrontare con il tuo codice
codice:
Dim localZone As TimeZone = TimeZone.CurrentTimeZone
Dim baseUTC As DateTime = New DateTime(2000, 1, 1, 10, 30, 12)
Dim localTime As DateTime = localZone.ToLocalTime(baseUTC)
Dim localOffset As TimeSpan = localZone.GetUtcOffset(localTime)
Debug.Print("baseUTC : " + baseUTC)
Debug.Print("localTime : " + localTime)
Debug.Print("localOffset: " + localOffset.ToString)
ed il risultato è questo:
codice:
baseUTC : 01/01/2000 10.30.12
localTime : 01/01/2000 11.30.12
localOffset: 01:00:00
Ciao