Как рассчитать разницу во времени между двумя местоположениями

StackOverflow https://stackoverflow.com/questions/1470870

  •  16-09-2019
  •  | 
  •  

Вопрос

У меня возникла проблема с вычислением разницы во времени между двумя часовыми поясами.

Если я нахожусь в местоположении А, я знаю широту и долготу, а также текущее время.Я иду в местоположение B, я знаю широту и долготу и текущее время.

Как рассчитать разницу во времени между двумя текущими точками ..(в UTC)

Это было полезно?

Решение

Сначала получите базу данных или библиотеку, которая преобразует широту / длину, чтобы получить страну и штат / провинцию.Затем используйте класс NSTimeZone для получения часового пояса для конкретной страны.Вы можете приобрести такие базы данных со многих сайтов, т.е.: http://www.ip2location.com/

Чтобы выполнить фактическое преобразование, вы бы сделали что-то вроде этого:

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

NSInteger sourceSeconds =
    [sourceTimeZone secondsFromGMTForDate:date];
NSInteger destinationSeconds =
    [destinationTimeZone secondsFromGMTForDate:date];
NSTimeInterval interval = destinationSeconds - sourceSeconds;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top