2010-08-31 45 views
2

Je suis mon site d'hébergement aux États-Unis et mon site répertorie les événements en fonction du temps et les jours fériés et anniversaires en fonction des dates ..Comment puis-je obtenir la date actuelle en fonction du pays du visiteur?

J'utilise php et mysql

quand quelqu'un visite mon site de l'Inde du date qui sera affichée sur le site sera un jour moindre ..

Comment puis-je obtenir le changement de la date et l'heure en fonction du pays du visiteur?

+0

double possible de [Comment puis-je déterminer le temps d'un utilisateur Web de la zone?] (Http://stackoverflow.com/questions/13/how-can-i-determine-a-web- users-time-zone) –

Répondre

0
  1. Obtenez l'adresse IP du visiteur en utilisant ceci:
    $visitorIP = $_SERVER['REMOTE_ADDR'];

  2. Plan à pays/ville. Il existe de nombreuses bases de données IP à pays disponibles. Je préfère MaxMind GeoIP Country Database et MaxMind GeoIP City Database.

  3. Convertissez le fuseau horaire dans ce pays/cette ville.

+1

Je pense que les pays peuvent avoir> 1 fuseau horaire. – alex

+0

@Alex, oui mais vous pouvez également obtenir CITY de IP et mapper le fuseau horaire de cette ville. – shamittomar

+0

@shamitomar. Les villes de fuseau horaire sont la ville principale dans le fuseau horaire. Souvent la capitale du pays. Le Canada a une ville de fuseau horaire par province. Les États-Unis ont au moins un fuseau horaire par état, car certains états ont plusieurs fuseaux horaires. Demander à l'utilisateur quel fuseau horaire pour son pays (s'il y en a plus d'un) est un bon moyen de le corriger. Ce sont des alias supplémentaires dans la base de données pour des noms de fuseaux horaires moins fiables tels que EST, CST, etc. – BillThor

0

@Ishmaeel dit:

La façon la plus populaire (? == standard) de déterminer le fuseau horaire que j'ai vu est autour de l'utilisateur demande simplement ximself. Si votre site Web nécessite l'abonnement , vous pouvez l'enregistrer dans les données de profil des utilisateurs. Pour les utilisateurs anon , les dates peuvent être affichées sous la forme UTC ou GMT ou une autre.

Je n'essaie pas d'être un smart-alec. C'est juste que parfois certains problèmes ont des solutions plus fines en dehors de tout contexte de programmation .

Determine a User's Timezone