PHPBoost possède une classe permettant d'effectuer plusieurs traitements sur les dates. Nous allons vous la présenter au cours de cet article.
La classe va vous permettre de formater une date dans différents référentiels horaires et de récupérer plusieurs informations dessus.
Dans un monde internationnal tel qu'Internet, des gens de toutes les nationnalités et de tous les pays se retrouvent sur un même site, donc le serveur peut être basé n'importe où. Il est donc important d'adapter les dates à l'utilisateur (et notamment à son fuseau horaire). Cette classe gère aussi le changement d'heure (heure d'été/ heure d'hiver).
La classe
Date gère la notion de fuseau horaire à partir de différents référentiels qui sont les suivants :
Voilà ce qu'il est important de retenir.
L'affichage d'une date se fait quasiment systématiquement dans le référentiel utilisateur. Lorsque l'utilisateur entre une date, elle sera aussi dans son propre référentiel.
L'enregistrement dans la base de données ou dans un fichier texte se fait dans le référentiel système.
Toute date doit être enregistrée dans le référentiel système, c'est le seul référentiel qu'ont en commun tous les utilisateurs et qui fournira donc une heure équivalente à chacun d'entre eux. Il est impératif de respecter cette règle.
Selon vos besoins, vous allez avoir besoin de la date actuelle ou d'initialiser la classe avec un timestamp.
Le code ci-dessus va initialiser la classe avec la date et l'heure actuelle.
- Le premier paramètre
$timestamp
spécifie le timestamp de la date.
- Le deuxième paramètre est le timezone, vous pouvez utiliser le timezone (décalage horaire) du serveur, de l'utilisateur ou celui de la configuration du site. Les valeurs sont :
Timezone::TIMEZONE_SITE, Timezone::TIMEZONE_SYSTEM, Timezone::TIMEZONE_USER
La date peut être affichée selon différents formats :
Exemple :
Vous pouvez, après avoir instancié la classe date, utiliser plusieurs fonctions pour obtenir divers renseignements :
Obtenir le numéro de semaine dans l'année
Obtenir le numéro de semaine dans l'année
Vérifier si la date est postérieure à une autre date
Vous pouvez, après création de l'objet, modifier la date, son jour, l'année, l'heure, etc :