Question

Je suis un problème avec calcul de différence de temps entre deux fuseaux horaires.

Si je suis à l'emplacement A Je sais que la latitude et la longitude et l'heure actuelle. Je vais à l'emplacement B Je sais que la latitude et la longitude et l'heure actuelle.

Comment calculer la différence de temps entre les deux points en cours .. (UTC)

Était-ce utile?

La solution

obtenir d'abord une base de données ou d'une bibliothèque qui convertit lat / long pour obtenir le pays et de l'état / province. Ensuite, utilisez la classe NSTimeZone pour récupérer le fuseau horaire pour un pays donné. Vous pouvez acheter ces bases de données à partir de nombreux sites, à savoir:       http://www.ip2location.com/

Pour la conversion réelle que vous feriez quelque chose comme ceci:

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

NSInteger sourceSeconds =
    [sourceTimeZone secondsFromGMTForDate:date];
NSInteger destinationSeconds =
    [destinationTimeZone secondsFromGMTForDate:date];
NSTimeInterval interval = destinationSeconds - sourceSeconds;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top