it-swarm.it

Come si usa PHP per ottenere l'anno in corso?

Voglio mettere un avviso sul copyright nel footer di un sito web, ma penso che sia incredibilmente negativo per l'anno essere obsoleto. Come posso aggiornare automaticamente l'anno con PHP 4 e PHP 5 ?

826
JD Graffam

Puoi usare date o strftime . In questo caso, direi che non importa come un anno è un anno, non importa quale (a meno che non ci sia un locale che formatta l'anno in modo diverso?)

Per esempio:

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

Una nota a margine, quando si formattano le date in PHP è importante quando si desidera formattare la data in un locale diverso da quello predefinito. Se è così, devi usare setlocale e strftime. Secondo il php manual on date:

Per formattare le date in altre lingue, dovresti usare le funzioni setlocale () e strftime () invece di date ().

Da questo punto di vista, penso che sarebbe meglio usare strftime il più possibile, se si ha anche la possibilità remota di dover localizzare la propria applicazione. Se questo non è un problema, scegli quello che ti piace di più.

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

La mia versione super pigra di mostrare una riga di copyright, che rimane automaticamente aggiornata:

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

Quest'anno (2008), dirà:

© 2008 Me, Inc.

L'anno prossimo dirà:

© 2008-2009 Me, Inc.

e per sempre resta aggiornato con l'anno in corso.


Oppure (PHP 5.3.0+) un modo compatto per farlo usando una funzione anonima in modo da non avere variabili fuoriuscite e non ripetere codice/costanti:

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

Con PHP intestazione in una direzione più orientata agli oggetti, sono sorpreso che nessuno abbia fatto riferimento alla classe built-in DateTime :

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

o one-liner con accesso di membro della classe su istanziazione (php> = 5.4):

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

http://us2.php.net/date

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

Io amo strftime . È un'ottima funzione per afferrare/ricombinare blocchi di date/orari.

Inoltre rispetta le impostazioni locali che la funzione di data non fa.

27
Mark Biek

Questo ti dà l'ora locale:

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

E questoUTC:

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

Per la rappresentazione a 4 cifre:

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

Rappresentazione a 2 cifre:

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

Controlla la documentazione php per maggiori informazioni: https://secure.php.net/manual/en/function.date.php

12
joan16v

Ecco cosa faccio:

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

di seguito è un po 'di spiegazione di ciò che fa:

d = day
m = month
Y = year

Y ti darà quattro cifre (ad esempio 1990) e y per due cifre (ad esempio 90)

11

echo date('Y') ti dà l'anno corrente, e questo si aggiornerà automaticamente poiché date() ci dà la data corrente.

10
kkarayat
print date('Y');

Per ulteriori informazioni, consultare la documentazione della funzione date (): https://secure.php.net/manual/en/function.date.php

9
darwin

Se il tuo server supporta i Short Tag, o usi PHP 5.4, puoi usare:

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

usa una funzione PHP che è chiamata date().

Prende la data corrente e quindi fornisci un formato

e il formato sarà Y. Capital Y sarà un anno a quattro cifre.

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

Questo codice dovrebbe fare

7

Scrivi e basta:

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

E 'eco' questo valore ...

7
saadk

Puoi usare la semplice PHP data class. Fornisce molti metodi e funzioni utili:

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

Puoi controllare la pagina delle esercitazioni della libreria per altri esempi

5
isa

Fino a php 5.4+

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

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

Oppure puoi usarlo con una sola riga

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

Se vuoi aumentare o diminuire l'anno un altro metodo; aggiungi la linea di modifica come sotto.

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

BTW ... ci sono alcuni modi per mostrare il copyright del sito. Alcune persone hanno la tendenza a rendere le cose ridondanti, ad esempio: Copyright © ha lo stesso significato. Le parti importanti del copyright sono:

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

Usando 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

Il mio modo di mostrare il copyright, che continua ad aggiornare 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>    

Produrrà i risultati come

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

usa una funzione PHP date().

e il formato sarà Y. Capital Y sarà un anno a quattro cifre.

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

Ottieni l'anno intero utilizzato:

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

Oppure ottieni solo due cifre dell'anno usato in questo modo:

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

Puoi usarlo nelle sezioni del piè di pagina per ottenere un anno di copyright dinamico

2
imtaher

miglior shortcode per questa sezione:

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