web-dev-qa-db-fra.com

Comment utiliser PHP pour obtenir l'année en cours?

Je veux mettre un avis de droit d'auteur dans le pied de page d'un site Web, mais je pense que c'est incroyablement difficile pour une année d'être obsolète. Comment est-ce que je ferais la mise à jour d'année automatiquement avec PHP 4 et PHP 5 ?

853
JD Graffam

Vous pouvez utiliser soit date ou strftime . Dans ce cas, je dirais que cela n'a pas d'importance, car une année est une année, peu importe ce qui se passe (sauf s'il existe un lieu où la mise en forme est différente?)

Par exemple:

<?php echo date("Y"); ?>

Notons que lorsque vous formatez les dates dans PHP, il est important de formater votre date dans des paramètres régionaux différents de ceux par défaut. Si c'est le cas, vous devez utiliser setlocale et strftime. Selon le manuel php le date:

Pour formater les dates dans d'autres langues, vous devez utiliser les fonctions setlocale () et strftime () au lieu de date ().

De ce point de vue, je pense qu’il serait préférable d’utiliser strftime autant que possible, si vous avez même une possibilité lointaine de devoir localiser votre application. Si ce n'est pas un problème, choisissez celui que vous préférez.

1016
Erik van Brakel
<?php echo date("Y"); ?>
510
Daniel Papasian

Ma version super paresseuse d'affichage d'une ligne de droit d'auteur, qui reste automatiquement mise à jour:

&copy; <?php 
$copyYear = 2008; 
$curYear = date('Y'); 
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.

Cette année (2008), on dira:

© 2008 Me, Inc.

L'année prochaine, on dira:

© 2008-2009 Me, Inc.

et toujours rester à jour avec l'année en cours.


Ou (PHP 5.3.0+) un moyen compact de le faire en utilisant une fonction anonyme pour ne pas laisser de variables s'échapper et ne pas répéter le code/les constantes:

&copy; 
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> 
Me, Inc.
200
gregmac

Avec PHP dans une direction plus orientée objet, je suis surpris que personne ici n'ait fait référence à la fonction intégrée DateTime classe:

$now = new DateTime();
$year = $now->format("Y");

ou one-liner avec un accès de membre de classe à l’instanciation (php> = 5.4):

$year = (new DateTime)->format("Y");
62
Thomas Kelley

http://us2.php.net/date

echo date('Y');
29
chrisb
strftime("%Y");

J'aime strftime . C'est une excellente fonction pour saisir/recombiner des morceaux de dates/heures.

De plus, il respecte les paramètres régionaux, ce que la fonction de date ne fait pas.

27
Mark Biek

Celui-ci vous donne l'heure locale:

$year = date('Y'); // 2008

Et celui-ci UTC:

$year = gmdate('Y'); // 2008
14
Alexey Lebedev

Pour une représentation à 4 chiffres:

<?php echo date('Y'); ?>

Représentation à 2 chiffres:

<?php echo date('y'); ?>

Consultez la documentation php pour plus d’informations: https://secure.php.net/manual/en/function.date.php

12
joan16v

Voici ce que je fais:

<?php echo date("d-m-Y") ?>

vous trouverez ci-dessous une explication de ce que cela fait

d = day
m = month
Y = year

Y vous donnera quatre chiffres (par exemple 1990) et y pour deux chiffres (par exemple 90)

11

echo date('Y') vous donne l'année en cours et se mettra à jour automatiquement puisque date() nous donne la date du jour.

10
kkarayat
print date('Y');

Pour plus d'informations, consultez la documentation de la fonction date (): https://secure.php.net/manual/fr/function.date.php

9
darwin

Si votre serveur prend en charge les balises courtes ou si vous utilisez PHP 5.4, vous pouvez utiliser:

<?=date("Y")?>
7
PanicGrip

utilisez une fonction PHP qui s'appelle simplement date().

Il prend la date du jour et vous lui fournissez un format

et le format sera juste Y. Capital Y sera une année à quatre chiffres.

<?php echo date("Y"); ?>
7
Wael Assaf
<?php echo date("Y"); ?>

Ce code devrait faire

7
Abdelkader Soudani

Ecrivez:

date("Y") // A full numeric representation of a year, 4 digits
          // Examples: 1999 or 2003

Ou:

date("y"); // A two digit representation of a year     Examples: 99 or 03

Et 'echo' cette valeur ...

7
saadk

Vous pouvez utiliser la simple classe PHP date. Il fournit de nombreuses méthodes et fonctions utiles:

$date = new simpleDate();
echo $date->now()->getYear(); 
echo $date->now()->getMonth();
echo $date->set('2013-01-21')->getDayString();
echo $date->now()->compare('2013-01-21')->isBefore();
...

Vous pouvez vérifier la page des tutoriels de la bibliothèque pour plus d'exemples

5
isa

Pour php 5.4+

<?php
    $current= new \DateTime();
    $future = new \DateTime('+ 1 years');

    echo $current->format('Y'); 
    //For 4 digit ('Y') for 2 digit ('y')
?>

Ou vous pouvez l'utiliser avec une seule ligne

$year = (new DateTime)->format("Y");

Si vous voulez augmenter ou diminuer l’année, utilisez une autre méthode; ajoutez la ligne de modification comme ci-dessous.

<?PHP 
  $now   = new DateTime;
  $now->modify('-1 years'); //or +1 or +5 years 
  echo $now->format('Y');
  //and here again For 4 digit ('Y') for 2 digit ('y')
?>
5
Ivan Barayev

BTW ... il y a quelques manières correctes d'afficher le copyright du site. Certaines personnes ont tendance à rendre les choses redondantes, c'est-à-dire que: Copyright © a la même signification. Les parties importantes du copyright sont:

**Symbol, Year, Author/Owner and Rights statement.** 

Utiliser PHP + HTML:

<p id='copyright'>&copy; <?php echo date("Y"); ?> Company Name All Rights Reserved</p>

ou

<p id='copyright'>&copy; <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p
4
Milan

utilisez une fonction PHP date().

et le format sera juste Y. Capital Y sera une année à quatre chiffres.

<?php echo date("Y"); ?>
4
Sanu0786

meilleur shortcode pour cette section:

<?= date("Y"); ?>
2
Omid Ahmadyani

Ma façon de montrer le copyright, qui continue à se mettre à jour automatiquement

<p class="text-muted credit">Copyright &copy;
    <?php
        $copyYear = 2017; // Set your website start date
        $curYear = date('Y'); // Keeps the second year updated
        echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
    ?> 
</p>    

Il affichera les résultats sous forme de

copyright @ 2017   //if $copyYear is 2017 
copyright @ 2017-201x    //if $copyYear is not equal to Current Year.
2
Sushank Pokharel

Obtenez l'année complète utilisée:

 <?php 
    echo $curr_year = date('Y'); // it will display full year ex. 2017
?>

Ou n'utilisez que deux chiffres de l'année comme ceci:

 <?php 
    echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>
2
Ganesh Udmale
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

Vous pouvez l’utiliser dans les sections de pied de page pour obtenir une année de droit d’auteur dynamique

2
imtaher

Si vous utilisez awesome Carbon PHP Extension de l'API pour DateTime , vous pouvez le réaliser facilement:

<?php echo Carbon::now()->year; ?>

À votre santé.

0
andcl