it-swarm-es.tech

Como uso PHP para obtener el año en curso?

Quiero poner un aviso de copyright en el pie de página de un sitio web, pero creo que es increíblemente hortera que el año esté fuera de fecha. ¿Cómo haría que el año se actualice automáticamente con PHP 4 y PHP 5 ?

826
JD Graffam

Puede usar date o strftime . En este caso, diría que no importa, ya que un año es un año, sin importar qué (a menos que haya una configuración regional que formatee el año de manera diferente?)

Por ejemplo:

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

En una nota al margen, al dar formato a las fechas en PHP es importante cuando desea dar formato a la fecha en una configuración regional diferente a la predeterminada. Si es así, tienes que usar setlocale y strftime. De acuerdo con el manual de php on:

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

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

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

Mi versión super holgazana de mostrar una línea de derechos de autor, que se actualiza automáticamente:

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

Este año (2008) dirá:

© 2008 Me, Inc.

El año que viene dirá:

© 2008-2009 Me, Inc.

y para siempre estar al día con el año en curso.


O (PHP 5.3.0+) una forma compacta de hacerlo usando una función anónima para que no tenga variables que se escapen y no repita el código/las constantes:

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

Con PHP dirigiéndose en una dirección más orientada a objetos, me sorprende que aquí nadie haya hecho referencia a la función incorporada DateTime class:

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

o una línea con acceso de miembro de clase en la instanciación (php> = 5.4):

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

http://us2.php.net/date

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

Me encanta strftime . Es una gran función para capturar/recombinar fragmentos de fechas/horas.

Además, respeta la configuración regional que la función de fecha no cumple.

27
Mark Biek

Esta te da la hora local:

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

Y esteUTC:

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

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

12
joan16v

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) y y para dos dígitos (por ejemplo, 90)

11

echo date('Y') le da el año en curso, y esto se actualizará automáticamente ya que date() nos da la fecha actual.

10
kkarayat
print date('Y');

Para obtener más información, consulte la documentación de la función date (): https://secure.php.net/manual/en/function.date.php

9
darwin

Si su servidor admite etiquetas cortas, o si usa PHP 5.4, puede usar:

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

use una función PHP que se llama simplemente date().

Toma la fecha actual y luego le das un formato.

y el formato solo será Y. La capital Y será un año de cuatro dígitos.

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

Este código debe hacer

7
Abdelkader Soudani

Solo escribe:

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

O:

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

Y 'echo' este valor ...

7
saadk

Puede usar la clase de fecha PHP simple. Proporciona muchos métodos y funciones útiles:

$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();
...

Puede consultar la página de tutoriales de la biblioteca para ver más ejemplos

5
isa

Para php 5.4+

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

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

O puedes usarlo con una línea.

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

Si quieres aumentar o disminuir el año otro método; Añadir modificar la línea como a continuación.

<?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

Por cierto ... hay algunas formas adecuadas de mostrar los derechos de autor del sitio. Algunas personas tienen tendencia a hacer que las cosas sean redundantes, es decir, los derechos de autor © tienen el mismo significado. Las partes importantes de derechos de autor son:

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

Utilizando PHP + HTML:

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

o

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

Mi forma de mostrar los derechos de autor, que sigue actualizándose automáticamente.

<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>    

Saldrá los resultados como

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

use una función PHP date().

y el formato solo será Y. La capital Y será un año de cuatro dígitos.

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

Obtener el año completo utilizado:

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

O obtener solo dos dígitos del año usado así:

 <?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");?>

Puede usar esto en las secciones de pie de página para obtener un año de copyright dinámico

2
imtaher

mejor shortcode para esta sección:

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