Преобразование даты и времени в разные часовые пояса с помощью JavaScript - PullRequest
1 голос
/ 22 сентября 2011

Я использую источник InstantAnswer API Bing для получения информации о статусе рейса в формате JSON через jQuery.getJSON .Это пример того, что я получаю:

if(typeof SearchCompleted == 'function') SearchCompleted({"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"LA1442"},"InstantAnswer":{
"Results":[{"ContentType":"FlightStatus","Title":"flight status for Lan Airlines 1442","ClickThroughUrl":"http:\/\/www.bing.com\/search?mkt=en-US&q=LA1442&form=SOAPGN","Url":"http:\/\/www.flightstats.com\/go\/FlightStatus\/flightStatusByFlight.do?id=239598315","InstantAnswerSpecificData":{"FlightStatus":{"AirlineCode":"LA","AirlineName":"Lan Airlines","FlightNumber":"1442","FlightName":"LA1442","FlightHistoryId":239598315,"StatusString":"Landed","StatusCode":76,"OnTimeString":"","ScheduledDeparture":"2011-09-22T17:25:00Z","UpdatedDeparture":"2011-09-22T17:15:00Z","ScheduledArrival":"2011-09-22T18:20:00Z","UpdatedArrival":"2011-09-22T18:17:00Z","OriginAirport":{"Code":"GYE","Name":"Guayaquil","TimeZoneOffset":-18000},"DestinationAirport":{"Code":"UIO","Name":"Quito","TimeZoneOffset":-18000},"DepartureGate":"","DepartureTerminal":"","ArrivalGate":"","ArrivalTerminal":"","PreviousSegment":{"FlightHistoryId":239598314,"OriginAirport":"EZE","DestinationAirport":"GYE"},"DataFreshness":1}}}]}}} /* 

Информация, с которой у меня возникают проблемы (связанные с часовым поясом):

  • Запланированный выезд: 2011-09-22T17: 25: 00Z
  • Запланированное прибытие: 2011-09-22T18: 20: 00Z

Проблема заключается в следующем:уже вылетел, мне нужно составить прогноз того, какой процент пути полета уже пройден.

Это было бы легко рассчитать, если бы поля «Запланированный вылет» и «Запланированное прибытие» были бы в одинаковых часовой пояс как текущий часовой пояс компьютеров (я использую только скрипт на стороне клиента) - но это не так.Один из них использует часовой пояс в Эквадоре (GMT -5), а другой использует часовой пояс в Чили (GMT -4).

Моя идея:

  1. конвертировать обазначения в unix timestamps
  2. конвертируют обе метки времени в текущий часовой пояс компьютера
  3. рассчитывают процент полета самолета с этими двумя временными меткамии текущая временная метка моего компьютера

Шаг, в котором у меня возникли проблемы, Нет.2 - Есть идеи?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...