2013-08-01 5 views
0

Si je passe la latitude et la longitude, En réponse, j'ai besoin de la valeur du fuseau horaire GMT.GMT Offset avec entrées: latitude et longitude

Par exemple:

  • latitude: 21,7679
  • longitude: 78,8718
  • Réponse exceptés: GMT + 05: 30

Je ne veux pas utiliser un webservice.

+1

Sans utiliser une ressource en ligne de quelque sorte, ou une base de données de définitions de polygones de fuseau horaire, vous aurez du mal à mettre en œuvre vous-même car il n'y a pas une fonction simple de longitude fuseau horaire. Regardez une carte des fuseaux horaires du monde si vous en doutez; Même à 0, il y a plusieurs fuseaux horaires. Oh, et GMT est si dernier siècle, UTC est quand il est maintenant homme. –

+1

@HighPerformanceMark * GMT est si dernier siècle, *. M'a fait rire. – christopher

Répondre

2

Vous aurez besoin de beaucoup d'informations pour obtenir des résultats précis si vous ne souhaitez pas utiliser un service Web. Il y a un hack cependant, ce qui donne facilement des résultats approximatifs:

Divide longitude by 15 

Selon www.timeanddate.com:

... Chaque fuseau horaire est alors théoriquement 15 degrés de large, ce qui correspond à une différence d'une heure temps solaire moyen. La forme des fuseaux horaires est modifiée, dans la pratique, pour correspondre aux frontières internes et internationales. L'heure civile change d'une heure en avant et en arrière respectivement pour chaque 15 degrés à l'est ou à l'ouest du méridien de Greenwich. Il faudrait diviser la longitude, en degrés, par 15 pour trouver le fuseau horaire approprié, en heures. Par exemple:

At 150 degrees west (or 150° W) longitude, the time should be 150 degrees divided by 15 degrees = 10 hours behind Coordinated Universal Time (UTC/GMT) (or UTC-10). 
At 75 degrees east (or 75° E) longitude, the time would be 75 degrees divided by 15 degrees = 5 hours ahead of UTC/GMT (or UTC+5). 
+1

Pour être pédant, les fuseaux horaires ne changent pas tous les +/- 15deg du méridien principal, le fuseau horaire 0 est centré sur le méridien principal, les zones suivantes est et ouest commencent à +/- 7.5deg. Et, pour illustrer mon commentaire sur la question, cette méthode échoue pour l'exemple d'OP; il ne produira pas de décalage de 5h30 pour les longitudes en Inde. –

+0

Assez juste! C'est pourquoi est écrit _approximate results _... J'utiliserais un service web. –