Date / heure lisible par JavaScript depuis l'heure de PHP ()
Est-il possible d'avoir JavaScript calculer un timestamp retourné à partir de PHP time()
de la fonction et de les présenter dans un format lisible comme "Sun, 18 avril 2010 à 4:00 pm"?
source d'informationauteur Lyon
Vous devez vous connecter pour publier un commentaire.
Utiliser le Date de l'objet à faire:
Vous devez multiplier le timestamp Unix par 1000 parce que
Date
attend l'horodatage pour être en millisecondes.Et au format de la date, vous pouvez utiliser cette
Date.format
méthode (Date a aucun intégré).Vous allez être très prudent de faire ce genre de choses. Lorsque vous prenez un serveur-côté de la valeur de temps est un traditionnel "nombre de secondes ou millisecondes) depuis l'Époque frontière" de la valeur, et ensuite le transformer en une sorte de "Date" de l'objet, ainsi que la traduction se produit dans le fuseau horaire approprié pour les paramètres régionaux du contexte.
Le problème se pose lorsque vous avez un serveur situé à Chicago, et quelqu'un à Hawaii à l'aide de votre site, par exemple après une partie, un de ces "luau" affaires, sans aucun doute, complet avec rôti de porc et de l'herbe-jupe de danse des filles, d'une rare soirée chaude, tropical, ciel, fleurs exotiques pour humer la brise de l'océan et il est tard maintenant. Mon dieu, il est presque minuit! Quelle sera la mère pense que quand je lui écrire à propos de la fête?
Notre parti-spectateur s'assoit à 11:30 PM à l'utilisation de votre site. Maintenant, bien sûr, être considérablement à l'est de Hawaii, votre serveur pense qu'il est 5 H 30, et la date est un jour plus tard à la date de notre parti spectateur va noter dans sa note rapide pour Maman. Si votre serveur écrit la valeur de temps dans une page web, comme décrit dans les réponses ici, et — correctement — le local Hawaii temps s'affiche sur la page de notre parti-goer de la chambre d'hôtel.
Le problème est: est-ce que si local temps, il est de retour à votre application de certaines champ de formulaire, et votre application traite comme heure locale à Chicagoalors votre site sera obtenir de la date de la veille. En fonction de votre application qui soit OK ou pas OK - le point est, vous devez garder une trace de où une date (exprimé en ordinaire calendrier notation) vient de vis-a-vis de l'endroit où la date est utilisé.
Vous pouvez bien sûr avoir le problème inverse. C'est, si votre serveur rend toujours les dates dans son fuseau horaire local, les utilisateurs ailleurs dans le monde verra la confusion (apparemment à tort) la date et de l'heure, de façon que l'interface a faire comprendre ce que ces valeurs moyennes. Les enjeux deviennent importants lorsque votre site fournit des services impliquant des horaires. Si il est possible de planifier des opérations, il est important que l'interface qui met les choses sur le niveau de sorte que "30 avril à 10:00" signifie que la date et l'heure sur le serveur ou que la date et l'heure dans les paramètres régionaux à partir de laquelle le calendrier a été organisé. Quoi qu'il en soit, vous devez faire attention à garder les choses cohérentes.
Au lieu de numérique timestamp unix, vous pouvez également envoyer une représentation textuelle de la date de Date.parse() comprend.
Peut-être que c'est juste ma contribution au réchauffement climatique, mais je pense qu'il y a des avantages dans l'utilisation d'un format un peu plus lisibles par l'homme et contient le fuseau horaire info.
par exemple
Ce imprime
dans mon navigateur et (depuis mon local fuseau horaire Europe/Berlin, CET, UTC+1/2) après avoir atteint le
to local time
boutonIl est maintenant en 2013, et que de plus en plus de gens passer de la transformation SQL résultats sur PHP côté pour passer les résultats en JSON et le traitement sur le côté client, je pense moment.js mérite une certaine attention de son propre qui facilite les remplacements à PHP de la fonction strtotime() et date() des fonctions en Javascript, plus quelques plus.
Simplement inclure:
Puis c'est aussi simple que:
Vous pouvez obtenir le 5.5 ko fichier js ici:
http://momentjs.com/
Plus de docs ici:
http://momentjs.com/docs/