Pregunta ¿Cómo uso PHP para obtener el año actual?


Quiero poner un aviso de copyright en el pie de página de un sitio web, pero creo que es increíblemente desagradable que el año esté desactualizado. ¿Cómo haría la actualización del año automáticamente con PHP 4 y PHP 5?


742
2017-09-15 15:34


origen


Respuestas:


Puedes usar cualquiera fecha o tiempo de trabajo. En este caso, diría que no importa ya que un año es un año, no importa qué (a menos que haya una configuración regional que dé formato al año de manera diferente).

Por ejemplo:

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

En una nota al margen, al formatear las fechas en PHP, importa cuando quieres formatear la fecha en una configuración regional diferente a la predeterminada. Si es así, debes usar setlocale y strftime. De acuerdo con la php manual a tiempo:

Para formatear fechas en otros idiomas,   debe usar setlocale () y   strftime () funciones en lugar de   fecha().

Desde este punto de vista, creo que sería mejor utilizar strftime tanto como sea posible, incluso si tiene la posibilidad remota de tener que localizar su aplicación. Si eso no es un problema, elige el que más te guste.


846
2017-09-15 15:45



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

498
2017-09-15 15:35



Mi versión súper perezosa de mostrar una línea de derechos de autor, que se mantiene automáticamente actualizada:

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

Este año (2008), dirá:

© 2008 Me, Inc.

El próximo año, dirá:

© 2008-2009 Me, Inc.

y mantente actualizado para siempre con el año actual.


O (PHP 5.3.0+) una forma compacta de hacerlo usando una función anónima para que no se filtren variables y no repita código / 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



Con el encabezado PHP en una dirección más orientada a objetos, me sorprende que nadie aquí haya hecho referencia al built-in DateTime clase:

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

o one-liner con acceso de miembro de clase en instanciación (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");

amo tiempo de trabajo. Es una gran función para agarrar / recombinar trozos de fechas / horas.

Además, respeta las configuraciones locales que la función de fecha no hace.


25
2017-09-15 15:35



Este te da la hora local:

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

Y éste UTC:

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

13
2017-09-15 15:44



Para representación de 4 dígitos:

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

Representación de 2 dígitos:

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

Consulte la documentación de php para obtener más información: https://secure.php.net/manual/en/function.date.php


11
2017-10-16 08:02



Esto es lo que hago:

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

a continuación hay un poco de explicación de lo que hace:

d = day
m = month
Y = year

Y le dará cuatro dígitos (por ejemplo, 1990) ey para dos dígitos (por ejemplo, 90)


10
2018-01-17 15:52