Comment obtenir l'année actuelle en PHP : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : pourquoi la question « Comment obtenir l'année actuelle en PHP ? » est-elle si populaire ?



Il semblerait que quoi de plus simple ? Prendre et afficher l'année actuelle. Mais sur Stack Overflow, cette question a accumulé des centaines de milliers de vues. Pourquoi ? Parce que derrière cette apparente simplicité se cachent des dizaines de nuances : des différences entre l'heure du serveur et le fuseau horaire de l'utilisateur jusqu'au formatage correct pour différentes locales.



Dans cet article, nous allons voir comment obtenir l'année actuelle en PHP de toutes les manières possibles, apprendre à éviter les erreurs typiques et comprendre quelle méthode choisir pour votre tâche spécifique. Que vous écriviez un copyright dans le pied de page d'un site ou un système complexe de gestion du temps, ce contenu vous sera utile.



C'est parti !



Méthode n°1 : La fonction classique date()



La manière la plus populaire et la plus simple d'obtenir l'année actuelle en PHP est d'utiliser la fonction date(). Elle retourne une chaîne formatée avec la date et l'heure actuelles du serveur.



<?php// On obtient l'année actuelle (4 chiffres)$year = date('Y');echo "Nous sommes en $year"; // Affichera : Nous sommes en 2026?>


Que se passe-t-il ici ? Le symbole Y est un format qui signifie « année au format 4 chiffres ». Si vous avez besoin de l'année sous forme de deux derniers chiffres (24, 25, 26), utilisez y :



<?phpecho date('y'); // 26?>


Pourquoi date('Y') est-il une bonne chose ?

  • Simplicité : une ligne de code et c'est fait.
  • Flexibilité : on peut combiner avec d'autres formats : date('Y-m-d') — la date, date('Y-m-d H:i:s') — la date avec l'heure.
  • Rapidité : la fonction est très rapide, ne nécessite pas de création d'objets.


Quand faut-il être prudent ?

La fonction date() utilise le fuseau horaire défini dans les paramètres PHP (directive date.timezone dans php.ini). Si le serveur a un mauvais fuseau horaire, l'obtention de l'année actuelle en PHP peut donner un résultat incorrect lors de la nuit du Nouvel An.



Solution : définissez toujours le fuseau horaire au début du script :



<?phpdate_default_timezone_set('Europe/Paris');echo date('Y'); // Maintenant c'est bien 2026?>


Méthode n°2 : Approche orientée objet — la classe DateTime



Si vous écrivez du code PHP moderne (version 5.2+), il est préférable d'utiliser la classe DateTime. C'est un outil plus puissant et plus flexible pour travailler avec les dates.



<?php$now = new DateTime();$year = $now->format('Y');echo "Année actuelle : $year";?>


Avantages de DateTime :

  • Modèle objet : on peut facilement manipuler les dates (ajouter des jours, des mois, comparer).
  • Gestion claire du fuseau horaire : transmettez le fuseau horaire dans le constructeur.
  • Internationalisation : facile de localiser les dates.


Exemple avec fuseau horaire :



<?php$timezone = new DateTimeZone('Europe/London');$now = new DateTime('now', $timezone);echo $now->format('Y'); // Année GMT?>


Méthode n°3 : Utilisation de la fonction strftime() (obsolète, mais toujours utilisée)



La fonction strftime() était autrefois la norme pour l'affichage localisé des dates. Depuis PHP 8.1, elle est déclarée obsolète, mais vous pouvez encore la rencontrer sur d'anciens projets.



<?phpsetlocale(LC_TIME, 'fr_FR.UTF-8');echo strftime('%Y'); // 2026?>


Important : n'utilisez pas strftime() dans les nouveaux projets. Utilisez plutôt IntlDateFormatter pour la localisation.



Méthode n°4 : Comment obtenir l'année à partir d'une date arbitraire ?



Souvent, il ne s'agit pas simplement d'obtenir l'année actuelle en PHP, mais de l'extraire d'une date déjà existante

Blogs

Book Recommendations