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 ?
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ù.
<?php echo date("Y"); ?>
La mia versione super pigra di mostrare una riga di copyright, che rimane automaticamente aggiornata:
© <?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:
©
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?>
Me, Inc.
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");
echo date('Y');
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.
Questo ti dà l'ora locale:
$year = date('Y'); // 2008
E questoUTC:
$year = gmdate('Y'); // 2008
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
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)
echo date('Y')
ti dà l'anno corrente, e questo si aggiornerà automaticamente poiché date()
ci dà la data corrente.
print date('Y');
Per ulteriori informazioni, consultare la documentazione della funzione date (): https://secure.php.net/manual/en/function.date.php
Se il tuo server supporta i Short Tag, o usi PHP 5.4, puoi usare:
<?=date("Y")?>
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"); ?>
<?php echo date("Y"); ?>
Questo codice dovrebbe fare
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 ...
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
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')
?>
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'>© <?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
Il mio modo di mostrare il copyright, che continua ad aggiornare automaticamente
<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>
Produrrà i risultati come
copyright @ 2017 //if $copyYear is 2017
copyright @ 2017-201x //if $copyYear is not equal to Current Year.
usa una funzione PHP date()
.
e il formato sarà Y. Capital Y sarà un anno a quattro cifre.
<?php echo date("Y"); ?>
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
?>
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>
Puoi usarlo nelle sezioni del piè di pagina per ottenere un anno di copyright dinamico
miglior shortcode per questa sezione:
<?= date("Y"); ?>