it-swarm-eu.dev

Jak se používá PHP získat aktuální rok?

Chci dát oznámení o autorských právech do zápatí webové stránky, ale myslím, že je neuvěřitelně laciné pro tento rok, aby byl zastaralý. Jak mám automaticky aktualizovat rok s PHP 4 a PHP 5 ?

826
JD Graffam

Můžete použít datum nebo strftime . V tomto případě bych řekl, že na tom nezáleží, že je rok rok, bez ohledu na to, co se děje (pokud neexistuje jiné prostředí, které formátuje rok jinak?)

Například:

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

Na straně poznámky, když formátování data v PHP to záleží, když chcete formátovat data v jiném národním prostředí, než je vaše výchozí. Pokud ano, musíte použít setlocale a strftime. Podle php manuálu dne:

Chcete-li formátovat data v jiných jazycích, měli byste místo data () použít funkce setlocale () a strftime ().

Z tohoto hlediska se domnívám, že by bylo nejlepší použít strftime co nejvíce, pokud máte i vzdálenou možnost, že budete muset aplikaci lokalizovat. Pokud to není problém, vyberte si ten, který se vám líbí nejlépe.

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

Moje super líná verze zobrazující řádek autorských práv, který automaticky aktualizuje:

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

V letošním roce (2008) bude řečeno:

© 2008 Me, Inc.

Příští rok to bude říkat:

© 2008-2009 Me, Inc.

a navždy zůstanou aktualizovány s aktuálním rokem.


Nebo (PHP 5.3.0+) kompaktní způsob, jak to udělat pomocí anonymní funkce, takže nemáte proměnné unikající ven a neopakujte kód/konstanty:

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

S PHP míří ve více objektově orientovaném směru, jsem překvapen, že zde nikdo neodkázal na vestavěnou DateTime třídu:

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

nebo one-liner s přístupem člena třídy k instanci (php> = 5.4):

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

http://us2.php.net/date

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

Miluji strftime . Je to skvělá funkce pro chytání/rekombinování kusů dat/časů.

Navíc respektuje nastavení národního prostředí, které funkce data nedělá.

27
Mark Biek

Ten vám dává místní čas:

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

A tentoUTC:

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

Pro čtyřmístné zobrazení:

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

2místné zobrazení:

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

Další informace naleznete v dokumentaci k programu php: https://secure.php.net/manual/en/function.date.php

12
joan16v

Zde je to, co dělám:

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

níže je trochu vysvětlení toho, co dělá:

d = day
m = month
Y = year

Y vám dá čtyři číslice (např. 1990) a y pro dvě číslice (např. 90)

11

echo date('Y') vám dává aktuální rok, a to se automaticky aktualizuje, protože date() nám dává aktuální datum.

10
kkarayat
print date('Y');

Další informace naleznete v dokumentaci funkce check date (): https://secure.php.net/manual/en/function.date.php

9
darwin

Pokud váš server podporuje krátké značky nebo používáte PHP 5.4, můžete použít:

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

použijte funkci PHP, která se právě nazývá date().

Trvá aktuální datum a pak mu poskytnete formát

a formát bude jen Y. Kapitál Y bude čtyřmístný rok.

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

Tento kód by měl dělat

7

Jen piš:

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

Nebo:

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

A „echo“ tuto hodnotu ...

7
saadk

Můžete použít jednoduchou třídu PHP. Poskytuje mnoho užitečných metod a funkcí:

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

Můžete si prohlédnout stránku tutoriálu knihovny pro další příklady

5
isa

Pro 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')
?>

Nebo můžete použít s jedním řádkem

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

Pokud chcete zvýšit nebo snížit rok jinou metodu; přidat řádek úprav, jak je uvedeno níže.

<?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 ... existuje několik řádných způsobů, jak zobrazit autorská práva na webu. Někteří lidé mají sklon dělat věci nadbytečné, tj .: Copyright © mají oba významy. Důležité části autorských práv jsou:

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

Pomocí PHP + HTML:

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

nebo

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

Můj způsob, jak ukázat autorská práva, to se neustále aktualizuje automaticky

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

Výsledkem budou výstupy

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

použijte funkci PHP date().

a formát bude jen Y. Kapitál Y bude čtyřmístný rok.

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

Použít celý rok:

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

Nebo můžete použít pouze dvě číslice roku:

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

To můžete použít v zápatí oddíly získat dynamický rok autorských práv

2
imtaher

nejlepší krátký kód pro tuto sekci:

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