Comment obtenir les paramètres régionaux à l'aide de Php
Comment obtenir les paramètres Régionaux à l'aide de Php,je veux obtenir le fuseau horaire en fonction de l'emplacement,
est-il possible d'obtenir en php.
J'ai besoin de les convertir à l'heure GMT et enregistrer la Base de données.De nouveau j'ai besoin de Tirer à l'INTERFACE utilisateur avec le même temps le même fuseau horaire.
Les paramètres régionaux de la machine PHP est en cours d'exécution ou les paramètres régionaux de l'utilisateur qui effectue la requête HTTP qui est en cours de processus par PHP?
locale
!= location
Je crois que vous entendez location
, locale
agit d'un paramètre pour le pays et la langue d'un systèmeOriginalL'auteur Ramakrishnan | 2010-05-21
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir le client à l'endroit ou le fuseau horaire à partir du côté serveur, et vous pouvez seulement faire une supposition à partir du côté client, en JavaScript.
(Vous pouvez obtenir plus d'informations sur les paramètres régionaux si le navigateur prend en charge Java, mais c'est un peu de douleur et tout le monde déteste les applets.)
Pour gérer les fuseaux horaires dans une application web, stocker tout votre temps UTC horodatages et les convertir en texte pour la mise en page à l'aide d'un utilisateur choisi le fuseau horaire. Vous pouvez utiliser les méthodes comme dans cette question de deviner le fuseau horaire, mais puisque ce n'est pas fiable, vous devez également permettre à l'utilisateur de choisir explicitement le fuseau horaire.
Oui... l'utilisateur devra spécifier le
timezone_identifier
ils sont en utilisant manuellement, à passer àdate_default_timezone_set
comme décrit par Sarfraz. Voir php.net/manual/en/timezones.php pour la liste des identificateurs; vous pouvez les placer dans une liste déroulante ou un autre de l'INTERFACE utilisateur. Vous pouvez utiliser JavaScript pour choisir une meilleure deviner le fuseau horaire pour la valeur par défaut de la liste déroulante, comme dans la question que j'ai lié, ou tout simplement par défaut à l'UTC. Une fois que l'utilisateur a fourni une heure et le fuseau horaire, vous devez le convertir au format UTC pour le stockage de base de données.+1 pour le stockage des horodatages UTC. Vous pouvez également vérifier le phpBB source (ou similaire à PHP app), ils ont à l'utilisateur de choisir son fuseau horaire lors de l'inscription, je pense que c'est exactement ce que vous cherchez.
+1 pour les horodatages UTC, car ils sont faciles à trier [alpha]numériquement, plutôt que d'utiliser des complexes des opérations arithmétiques.
OriginalL'auteur
À l'aide de
à obtenir dans les résultats, le réel de paramètres régionaux.
Cela devrait être la réponse à la question ci-dessus. Merci beaucoup!!
Court, simple, efficace! 🙂
Je ne peux pas obtenir que cela fonctionne pour l'instant sur ma machine (qui est en cours d'exécution de PHP 5.4). Quel que soit local, j'ai mis, "setlocale(LC_ALL,'0')" ne retourne qu'une chaîne de caractères avec la valeur "C" à chaque fois!
est le paramètre par défaut, si aucune locale n'a jamais été mis en avant. Cela signifie
nothing
. Essayezmoney_format('%i', 123.45);
alors que vous avez obtenu ceC
. Il n'y aura pas de monnaie =>123.45
. Mais mis àen_EN
et vous obtiendrezUSD 123.45
. Vous pouvez également définir un local et après de revenir à l'état avant avec l'appel suivantsetlocale(LC_ALL, 'C')
... Voir aussi ici: unix.stackexchange.com/questions/87745/what-does-lc-all-c-doOriginalL'auteur
Vous pouvez utiliser:
ou
puis-je utiliser pour obtenir les paramètres régionaux date_default_timezone_get()
C'était une faute de frappe, à juste titre repéré. Merci
Voir ma réponse mis à jour s'il vous plaît.
merci pour votre mise à jour
OriginalL'auteur