Domanda

Sto avendo un problema con il calcolo differenza di tempo tra due fusi orari.

Se io sono in posizione A So che la latitudine e la longitudine e l'ora corrente. Vado in posizione B So che la latitudine e la longitudine e l'ora corrente.

Come calcolare la differenza di tempo tra i due punti attuali .. (in UTC)

È stato utile?

Soluzione

In primo luogo ottenere un database o libreria che converte lat / lungo per ottenere il Paese e stato / provincia. Quindi utilizzare la classe NSTimeZone per recuperare il fuso orario per un determinato paese. È possibile acquistare tali banche dati provenienti da molti siti, vale a dire:       http://www.ip2location.com/

Per fare la conversione effettiva si dovrebbe fare qualcosa di simile:

NSTimeZone *sourceTimeZone =
    [NSTimeZone timeZoneWithAbbreviation: @"GMT"];
NSTimeZone *destinationTimeZone =
    [NSTimeZone timeZoneWithAbbreviation: @"EST"];

NSInteger sourceSeconds =
    [sourceTimeZone secondsFromGMTForDate:date];
NSInteger destinationSeconds =
    [destinationTimeZone secondsFromGMTForDate:date];
NSTimeInterval interval = destinationSeconds - sourceSeconds;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top