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é desactualizado. ¿Cómo haría que el año se actualice automáticamente con PHP 4 y PHP 5 ?
Recibí una advertencia usando eso. Se agregó date_default_timezone_set ('UTC'); para evitar recibir la advertencia. ('UTC + 1' no funciona ... no puedo decirle mucho como comenzar con PHP). Probablemente haya alguna forma de configurar PHP para evitar lanzar las advertencias (en algunos archivos de configuración como php.ini).
Justin
44
@justin Esto significa que no ha establecido la zona horaria predeterminada y a PHP no le gusta eso. Puede establecer la zona horaria predeterminada en el php.iniarchivo con algo como date.timezone = "America/Los_Angeles"o puede establecerla al comienzo de su código con algo como date_default_timezone_set( "America/Los_Angeles" ).
Joshua Pinter
77
NOTA: El año en un aviso de copyright realmente no tiene mucho valor legal, pero generalmente se agrega para ayudar a las personas que desean saber si el copyright aún se aplica. Como tal, se supone que es el año en que se publicó el trabajo. Simplemente usar el año actual realmente no tiene ningún sentido ... Sin embargo, lo he visto hacer innumerables veces.
Stijn de Witt
77
Yo personalmente argumentaría que se ha convertido en una convención web, por lo que aunque es técnicamente correcto, no es lo que la gente espera. El hecho es que si bien, es decir, "Copyright 2007, todos los derechos reservados" estampados en el pie de página de una página que contiene un artículo escrito en 2007 es técnicamente correcto, es probable que los visitantes del sitio asuman que el sitio ha sido abandonado. Incluso grande las corporaciones con equipos de abogados todavía estampan sus páginas web con el año en curso, incluso si es '2007-2015'.
Nathan Hornby
Respuestas:
1152
Puedes usar fecha o strftime . En este caso, diría que no importa, ya que un año es un año, pase lo que pase (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 formatear fechas en PHP, importa cuándo desea formatear su fecha en una ubicación diferente a la predeterminada. Si es así, debe usar setlocale y strftime. De acuerdo con el manual de php en la fecha:
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, incluso si tiene una posibilidad remota de tener que localizar su aplicación. Si eso no es un problema, elige el que más te guste.
@ErikvanBrakel fuera de su interés el año en curso en Tailandia es 2556. No estoy seguro de si PHP local tiene esto en cuenta, pero en un mundo perfecto debería :)
Dirk Hartzer Waldeck
Podrías simplemente decir: fecha ("Y");
¡Años chinos y japoneses ftw! 2016 年 / 二千 十六 年
Panzercrisis
3
Si pudiera hacer esto en Youtube. "Como si estuvieras viendo esto en <? Php echo date (" Y ");?>"
Intente evitar las etiquetas de forma corta, ya sea <? o <? = porque no es una buena práctica. Sin embargo, vale la pena mencionar que muchos buenos frameworks como Zend no permiten el enlace de etiqueta de apertura PHP abreviada, así que por mi bien, presione algunas teclas para guardar la legibilidad de su código.
Wael Assaf
7
Si su servidor admite etiquetas cortas, o usa PHP 5.4, puede usar:
php v5.4.0: la etiqueta <? = siempre está disponible independientemente de la configuración de short_open_tag ini. Entonces, ahora puede usar esta sintaxis.
nektobit
7
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
echo date("Y");
php.ini
archivo con algo comodate.timezone = "America/Los_Angeles"
o puede establecerla al comienzo de su código con algo comodate_default_timezone_set( "America/Los_Angeles" )
.Respuestas:
Puedes usar fecha o strftime . En este caso, diría que no importa, ya que un año es un año, pase lo que pase (a menos que haya una configuración regional que formatee el año de manera diferente)
Por ejemplo:
En una nota al margen, al formatear fechas en PHP, importa cuándo desea formatear su fecha en una ubicación diferente a la predeterminada. Si es así, debe usar setlocale y strftime. De acuerdo con el manual de php en la fecha:
Desde este punto de vista, creo que sería mejor usar strftime tanto como sea posible, incluso si tiene una posibilidad remota de tener que localizar su aplicación. Si eso no es un problema, elige el que más te guste.
fuente
'y'
? : /fuente
<?= date('Y') ?>
Mi versión súper perezosa de mostrar una línea de derechos de autor, que se mantiene actualizada automáticamente:
Este año (2008), dirá:
El año que viene, dirá:
y estar siempre actualizado con el año actual.
O (PHP 5.3.0+) una forma compacta de hacerlo usando una función anónima para que no tenga fugas de variables y no repita código / constantes:
fuente
© <?php echo 2008 != date('Y') ? '2008 - ' . date('Y') : 2008; ?> Me, Inc.
<?php echo '© 2008', ($year = gmdate("Y")) !== '2008'? ' - '.$year : '', ' Me, Inc.'; ?>
Con el encabezado PHP en una dirección más orientada a objetos, me sorprende que nadie aquí haya hecho referencia a la
DateTime
clase incorporada :o one-liner con acceso de miembro de clase en instanciación (php> = 5.4):
fuente
http://us2.php.net/date
fuente
Amo el tiempo de espera . 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 hace.
fuente
Este te da la hora local:
Y este UTC :
fuente
Para la representación de 4 dígitos:
Representación de 2 dígitos:
Consulte la documentación de php para obtener más información: https://secure.php.net/manual/en/function.date.php
fuente
Esto es lo que hago:
a continuación hay un poco de explicación de lo que hace:
Y le dará cuatro dígitos (por ejemplo, 1990) e y por dos dígitos (por ejemplo, 90)
fuente
echo date('Y')
le da el año actual, y esto se actualizará automáticamente yadate()
que nos da la fecha actual.fuente
Para obtener más información, consulte la documentación de la función date (): https://secure.php.net/manual/en/function.date.php
fuente
usar una función PHP que se llama
date()
.Toma la fecha actual y luego le proporciona un formato
y el formato solo será Y. El capital Y será un año de cuatro dígitos.
fuente
Este código debería hacer
fuente
Si su servidor admite etiquetas cortas, o usa PHP 5.4, puede usar:
fuente
Solo escribe:
O:
Y 'echo' este valor ...
fuente
Puede usar la simple clase de fecha PHP. Proporciona muchos métodos y funciones útiles:
Puede consultar la página de tutoriales de la biblioteca para obtener más ejemplos.
fuente
Por cierto ... hay algunas formas adecuadas de mostrar los derechos de autor del sitio. Algunas personas tienden a hacer que las cosas sean redundantes, es decir: Copyright © tiene el mismo significado. Las partes importantes de copyright son:
o
fuente
Para hasta php 5.4+
O puedes usarlo con una línea
Si quieres aumentar o disminuir el año otro método; agregue la línea de modificación como a continuación.
fuente
usa una
date()
función PHP .y el formato solo será Y. El capital Y será un año de cuatro dígitos.
fuente
mejor shortcode para esta sección:
fuente
Obtenga el año completo utilizado:
O obtenga solo dos dígitos del año como este:
fuente
Mi forma de mostrar los derechos de autor, que se sigue actualizando automáticamente
Producirá los resultados como
fuente
Puede usar esto en las secciones de pie de página para obtener un año de copyright dinámico
fuente
$ año = fecha ("Y", strtotime ($ yourDateVar));
fuente
fuente
Si está utilizando la extensión de la API Carbon PHP para DateTime , puede lograrlo fácilmente:
<?php echo Carbon::now()->year; ?>
fuente