Question Comment puis-je 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 ringard pour l'année d'être obsolète. Comment pourrais-je mettre l'année à jour automatiquement avec PHP 4 et PHP 5?


742
2017-09-15 15:34


origine


Réponses:


Vous pouvez utiliser soit rendez-vous amoureux ou strftime. Dans ce cas, je dirais que cela n'a pas d'importance car une année est une année, peu importe quoi (à moins qu'il y ait une locale qui formate l'année différemment?)

Par exemple:

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

D'un autre côté, lors du formatage des dates en PHP, il est important de formater votre date dans un environnement différent de celui par défaut. Si c'est le cas, vous devez utiliser setlocale et strftime. Selon le php manuel à la date:

Pour mettre en forme des dates dans d'autres langues,   vous devriez utiliser le setlocale () et   Fonctions strftime () au lieu de   rendez-vous amoureux().

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 faible possibilité de devoir localiser votre application. Si ce n'est pas un problème, choisissez celui que vous préférez.


846
2017-09-15 15:45



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

498
2017-09-15 15:35



Ma version super paresseuse de montrer une ligne de copyright, qui reste automatiquement mise à jour:

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

Cette année (2008), il dira:

© 2008 Me, Inc.

L'année prochaine, il dira:

© 2008-2009 Me, Inc.

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


Ou (PHP 5.3.0+) une façon compacte de le faire en utilisant une fonction anonyme de sorte que vous n'avez pas de fuite de variables et ne répétez pas de code / constantes:

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

195
2017-09-15 22:51



Avec PHP dans une direction plus orientée objet, je suis surpris que personne ici n'ait référencé le built-in DateTime classe:

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

ou un liner avec un accès membre de classe sur l'instanciation (php> = 5.4):

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

50
2018-01-02 18:03



http://us2.php.net/date

echo date('Y');

27
2017-09-15 15:36



strftime("%Y");

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

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


25
2017-09-15 15:35



Celui-ci vous donne l'heure locale:

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

Et celui-là UTC:

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

13
2017-09-15 15:44



Pour une représentation à 4 chiffres:

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

Représentation à 2 chiffres:

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

Consultez la documentation de php pour plus d'informations: https://secure.php.net/manual/fr/function.date.php


11
2017-10-16 08:02