Pergunta

Quero colocar um aviso de direitos autorais no rodapé de um site, mas acho incrivelmente cafona estar desatualizado.Como eu faria o ano ser atualizado automaticamente com PHP 4 e PHP 5?

Foi útil?

Solução

Você pode usar qualquer um data ou horário de trabalho.Nesse caso, eu diria que não importa, pois um ano é um ano, não importa o que aconteça (a menos que haja um local que formate o ano de maneira diferente?)

Por exemplo:

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

Por outro lado, ao formatar datas em PHP, é importante quando você deseja formatar sua data em um local diferente do padrão.Nesse caso, você deve usar setlocale e strftime.De acordo com manual de php Na data:

Para formatar datas em outros idiomas, você deve usar as funções setLocale () e strftime () em vez de DATE ().

Deste ponto de vista, acho que seria melhor usar o strftime tanto quanto possível, se você tiver a possibilidade remota de localizar seu aplicativo.Se isso não for um problema, escolha o que você mais gosta.

Outras dicas

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

Minha versão super preguiçosa de mostrar uma linha de direitos autorais, que permanece atualizada automaticamente:

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

Este ano (2008), dirá:

© 2008 Me, Inc.

No próximo ano, dirá:

© 2008-2009 Me, Inc.

e fique sempre atualizado com o ano atual.


Ou (PHP 5.3.0+) uma maneira compacta de fazer isso usando uma função anônima para que você não tenha variáveis ​​vazando e não repita código/constantes:

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

Com o PHP caminhando em uma direção mais orientada a objetos, estou surpreso que ninguém aqui tenha referenciado o DateTime aula:

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

ou one-liner com acesso de membro da classe na instanciação (php>=5.4):

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

http://us2.php.net/date

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

Eu amo horário de trabalho.É uma ótima função para capturar/recombinar pedaços de datas/horas.

Além disso, respeita as configurações de localidade que a função de data não faz.

Este fornece a hora local:

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

E este UTC:

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

Para representação de 4 dígitos:

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

Representação de 2 dígitos:

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

Verifique a documentação do php para mais informações:https://secure.php.net/manual/en/function.date.php

Aqui está o que eu faço:

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

abaixo está uma pequena explicação do que ele faz:

d = day
m = month
Y = year

Y fornecerá quatro dígitos (por exemplo1990) e y para dois dígitos (por exemplo90)

echo date('Y') fornece o ano atual, e isso será atualizado automaticamente desde date() nos dê a data atual.

print date('Y');

Para obter mais informações, verifique a documentação da função date(): https://secure.php.net/manual/en/function.date.php

Se o seu servidor suporta tags curtas ou você usa PHP 5.4, você pode usar:

<?=date("Y")?>

Apenas escreva:

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

Ou:

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

E 'ecoar' esse valor...

use uma função PHP que é apenas chamada date().

Ele pega a data atual e então você fornece um formato para ela

e o formato será apenas Y.Capital Y será um ano de quatro dígitos.

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

Este código deve fazer

Você pode usar a classe de data simples do PHP.Ele fornece muitos métodos e funções úteis:

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

Você pode checar a página de tutoriais da biblioteca para mais exemplos

Para até php 5.4+

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

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

Ou você pode usá-lo com uma linha

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

Se você quiser aumentar ou diminuir o ano, outro método;adicione linha de modificação como abaixo.

<?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 FALAR NISSO...existem algumas maneiras adequadas de exibir os direitos autorais do site.Algumas pessoas têm tendência a tornar as coisas redundantes, ou seja:Copyright © têm o mesmo significado.As partes importantes dos direitos autorais são:

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

Usando PHP + HTML:

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

ou

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

Você pode usar isso nas seções de rodapé para obter o ano dinâmico dos direitos autorais

Use o ano inteiro:

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

Ou use apenas dois dígitos do ano assim:

 <?php 
    echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>

Minha maneira de mostrar os direitos autorais, que continua atualizando automaticamente

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

Ele produzirá os resultados como

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

usar um PHP date() função.

e o formato será apenas Y.Capital Y será um ano de quatro dígitos.

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

melhor shortcode para esta seção:

<?= date("Y"); ?>
<?php
$time_now=mktime(date('h')+5,date('i')+30,date('s'));
$dateTime = date('d_m_Y   h:i:s A',$time_now);

echo $dateTime;
?>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top