SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Agendas et Dates > Formats de dates

Afficher la date et l’heure dans le fuseau horaire de l’utilisateur

mardi 22 mars 2005, par Julien.Adeixis. Dernier ajout dimanche 21 janvier 2007

Toutes les versions de cet article :


Gérant un site où les rédacteurs mais surtout les lecteurs sont des quatres coins du globe (à savoir, MacTouch), il m’a paru intéressant de trouver un moyen efficace pour que les lecteurs aient la date dans leur fuseau horaire.


Avec un peu de JavaScript et un filtre SPIP, voici ma contribution qui permet cela :

Comment ça marche ?

texte - 3.3 ko
spip_localtime.js

Téléchargez le script ci-dessus, renommez le en spip_localtime_fr.js, envoyez le sur votre serveur (à la racine) et placez dans le HEAD de chaque page le code suivant pour inclure le fichier :

<script language="JavaScript" type="text/javascript" src="spip_localtime.js"></script>

En suite, copiez dans mes_fonctions.php3 le code suivant :

function localtime_js($date, $format = "Y-m-d H:i:s") {
   return "<script language=\"JavaScript\" type=\"text/javascript\">s_lt(".strtotime($date).", '".str_replace('\\', '\\\\', $format)."');</script><noscript>".date($format, strtotime($date))." UTC</noscript>";
}

Pour finir, dans vos squelettes mettez quelque chose comme :

[(#DATE|localtime_js{'y-m-d H:i'})]

Le format de date entre accolades est sensiblement le même que la fonction PHP date et supporte le nom des jours et des mois en français. Les codes suivants sont supportés : d, F, G, H, i, j, l, m, n, s, Y et y. Ce filtre supporte aussi les échappements de caractères avec un anti-slash.

Limitations

Le serveur doit être en UTC (ou alors il faudrait adapter le JavaScript).

Si le navigateur ne supporte pas JavaScript, la date est affichée en UTC, avec le nom des jours et des mois en anglais.


Répondre à cet article



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net