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 ?
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.
<?php echo date("Y"); ?>
Mi versión super holgazana de mostrar una línea de derechos de autor, que se actualiza automáticamente:
© <?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:
©
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>
Me, Inc.
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");
echo date('Y');
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.
Esta te da la hora local:
$year = date('Y'); // 2008
Y esteUTC:
$year = gmdate('Y'); // 2008
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
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)
echo date('Y')
le da el año en curso, y esto se actualizará automáticamente ya que date()
nos da la fecha actual.
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
Si su servidor admite etiquetas cortas, o si usa PHP 5.4, puede usar:
<?=date("Y")?>
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"); ?>
<?php echo date("Y"); ?>
Este código debe hacer
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 ...
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
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')
?>
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'>© <?php echo date("Y"); ?> Company Name All Rights Reserved</p>
o
<p id='copyright'>© <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p
Mi forma de mostrar los derechos de autor, que sigue actualizándose automáticamente.
<p class="text-muted credit">Copyright ©
<?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.
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"); ?>
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
?>
<?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
mejor shortcode para esta sección:
<?= date("Y"); ?>