Ho l'app MonoTouch che elabora i dati da un webservice. Questi dati contengono informazioni sulla data che sono specifiche per un fuso orario. Il fuso orario è UTC +12, che è per la Nuova Zelanda.Ottieni DateTime.Now per un Timezone specifico indipendentemente dal fuso orario del dispositivo?
La mia app visualizza questi dati in base all'ora corrente. Il problema è che quando l'app viene utilizzata in diversi Timezone, i dati non vengono visualizzati correttamente perché l'ora corrente sul dispositivo non è corretta.
Come è possibile ottenere l'ora corrente per UTC +12 indipendentemente dall'impostazione locale/fuso orario sul dispositivo?
Edit:
Ho provato il seguente codice sulla base delle risposte di seguito:
TimeZoneInfo.ConvertTime (DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("Pacific/Auckland"));
Questo codice funziona bene sul mio computer ma quando l'eseguo in MonoTouch ottengo la seguente eccezione:
System.ArgumentException: Kind propery of dateTime is Local but the sourceTimeZone does not equal TimeZoneInfo.Local
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo sourceTimeZone, System.TimeZoneInfo destinationTimeZone) [0x00018] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System/TimeZoneInfo.cs:179
at System.TimeZoneInfo.ConvertTime (DateTime dateTime, System.TimeZoneInfo destinationTimeZone) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System/TimeZoneInfo.cs:173
iniziare con DateTime.UtcNow? –
@lanks: cosa è successo? Perché hai rimosso la tua risposta. Non è quello che volevi? –
@Nickhil Agrawal Ci dispiace, ma dopo aver testato la tua risposta non ha funzionato. Ho aggiornato la mia domanda con il codice e l'eccezione. – startupsmith