Pergunta

Estou tendo um problema em calcular a diferença de tempo entre dois fusos horários.

Se eu estiver no local, ai conhece a latitude e a longitude e o horário atual. Eu vou para o local, o BI conheço a latitude e a longitude e o horário atual.

Como calcular a diferença de tempo entre os dois pontos de corrente .. (no UTC)

Foi útil?

Solução

Em primeiro lugar, obtenha um banco de dados ou biblioteca que converte Lat/Long para obter o país e o estado/província. Em seguida, use a classe Nstimezone para recuperar o fuso horário de um país em particular. Você pode comprar esses bancos de dados de muitos sites, ou seja: http://www.ip2location.com/

Para fazer a conversão real, você faria algo assim:

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

NSInteger sourceSeconds =
    [sourceTimeZone secondsFromGMTForDate:date];
NSInteger destinationSeconds =
    [destinationTimeZone secondsFromGMTForDate:date];
NSTimeInterval interval = destinationSeconds - sourceSeconds;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top