Jak korzystać z PHP, aby uzyskać bieżący rok?

Chcę umieścić informację o prawach autorskich w stopce strony internetowej, ale myślę, że jest to niesamowicie tandetne jak na rok, aby być nieaktualne.

Jak zrobić automatyczną aktualizację roku za pomocą PHP 4 lub PHP 5 ?

Author: allenski, 2008-09-15

28 answers

Możesz użyć date lub strftime. W tym przypadku powiedziałbym, że to nie ma znaczenia, ponieważ rok jest rokiem, bez względu na wszystko (chyba że jest jakieś miejsce, które formatuje rok inaczej?)

Na przykład:

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

Na marginesie, podczas formatowania dat w PHP ma znaczenie, gdy chcesz sformatować datę w innym języku niż domyślne. Jeśli tak, musisz użyć setlocale i strftime. Zgodnie z podręcznikiem php w dniu:

Aby sformatować daty w innych językach, powinieneś użyć setlocale () i funkcje strftime () zamiast Data ().

Z tego punktu widzenia, myślę, że najlepiej byłoby używać strftime jak najwięcej, jeśli masz nawet zdalną możliwość zlokalizowania swojej aplikacji. Jeśli to nie problem, wybierz ten, który najbardziej Ci się podoba.

 1227
Author: Erik van Brakel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-20 19:02:05
<?php echo date("Y"); ?>
 518
Author: Daniel Papasian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-15 20:03:46

Moja super leniwa wersja wyświetlania linii praw autorskich, która automatycznie pozostaje aktualizowana:

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

W tym roku (2008) powie:

© 2008 Me, Inc.

W przyszłym roku powie:

© 2008-2009 Me, Inc.

I na zawsze pozostań na bieżąco z bieżącym rokiem.


Or (PHP 5.3.0+) a compact way to do it using anonymous function so you don 't have variables leaking out and don' t repeat code / Constant:

&copy; 
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> 
Me, Inc.
 205
Author: gregmac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-12 16:53:54

Z nagłówkiem PHP w kierunku bardziej obiektowym, dziwię się, że nikt tutaj nie wspomniał o wbudowanym DateTime klasa:

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

Lub jednowierszowy z dostępem do klasy przy instancji (php > =5.4):

$year = (new DateTime)->format("Y");
 72
Author: Thomas Kelley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-20 18:58:22

Http://us2.php.net/date

echo date('Y');
 29
Author: chrisb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-24 12:30:11
strftime("%Y");

I love strftime . Jest to świetna funkcja do chwytania / rekombinowania fragmentów dat / czasów.

Dodatkowo respektuje Ustawienia lokalne, których funkcja date nie wykonuje.

 28
Author: Mark Biek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-15 15:35:53

Ten podaje czas lokalny:

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

I ten UTC :

$year = gmdate('Y'); // 2008
 14
Author: Alexey Lebedev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-17 04:49:07

Oto co robię:

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

Poniżej jest trochę wyjaśnienia tego, co robi:

d = day
m = month
Y = year

Y da ci cztery cyfry (np. 1990) i y za dwie cyfry (np. 90)

 13
Author: Abdul Rahman A Samad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-07 07:09:23

Dla reprezentacji czterocyfrowej:

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

Reprezentacja dwucyfrowa:

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

Sprawdź dokumentację php, aby uzyskać więcej informacji: https://secure.php.net/manual/en/function.date.php

 12
Author: joan16v,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-08 13:00:45

echo date('Y') poda bieżący rok, a to zaktualizuje się automatycznie, ponieważ date() poda nam bieżącą datę.

 10
Author: kkarayat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-15 12:16:36
print date('Y');

Aby uzyskać więcej informacji, sprawdź dokumentację funkcji Date (): https://secure.php.net/manual/en/function.date.php

 9
Author: Janyk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-08 12:18:26

Użyj funkcji PHP, która jest po prostu nazywana date().

Pobiera aktualną datę, a następnie podaje się do niej format

A format będzie tylko Y. Stolica Y będzie czterocyfrowym rokiem.

<?php echo date("Y"); ?>
 8
Author: Wael Assaf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-09 20:19:00
<?php echo date("Y"); ?>

Ten kod powinien zrobić

 8
Author: Abdelkader Soudani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-21 08:18:39

Jeśli twój serwer obsługuje krótkie Tagi, lub korzystasz z PHP 5.4, możesz użyć:

<?=date("Y")?>
 7
Author: PanicGrip,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-30 16:32:12

Po prostu napisz:

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

Lub:

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

I 'echo' tej wartości...

 7
Author: saadk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 17:38:06

Użyj funkcji PHP date().

A format będzie tylko Y. Stolica Y będzie czterocyfrowym rokiem.

<?php echo date("Y"); ?>
 6
Author: Sanu0786,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-12-28 09:45:00

BTW... istnieje kilka właściwych sposobów wyświetlania praw autorskich do witryny. Niektórzy ludzie mają tendencję do zbędnych rzeczy, np.: Copyright © mają oba te same znaczenia. Ważne części autorskie to:

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

Używanie PHP + HTML:

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

Lub

<p id='copyright'>&copy; <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p
 5
Author: Milan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-28 02:07:02

Do php 5.4 +

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

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

Lub możesz go użyć jedną linią

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

Jeśli chcesz zwiększyć lub zmniejszyć rok inną metodą; dodaj modify wiersz jak poniżej.

<?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
Author: Ivan Barayev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-25 00:57:20

Pobierz cały rok używany:

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

Lub uzyskać tylko dwie cyfry roku używane w ten sposób:

 <?php 
    echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>
 4
Author: Ganesh Udmale,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-18 07:11:18

Najlepszy shortcode dla tej sekcji:

<?= date("Y"); ?>
 4
Author: Omid Ahmadyani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-03-15 16:48:53

Mój sposób na pokazanie praw autorskich, które aktualizują się automatycznie

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

Wyświetli wyniki jako

copyright @ 2017   //if $copyYear is 2017 
copyright @ 2017-201x    //if $copyYear is not equal to Current Year.
 3
Author: Sushank Pokharel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-29 10:39:14
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

Możesz użyć tego w sekcjach stopki, aby uzyskać dynamiczny rok praw autorskich

 2
Author: imtaher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-09 05:51:49
$year = date("Y", strtotime($yourDateVar));
 0
Author: Hernán Eche,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-08-12 01:07:58

W moim przypadku informacja o prawach autorskich w stopce witryny internetowej wordpress wymagała aktualizacji.

Wydawało się proste, ale wymagało kroku lub więcej niż oczekiwano.
  1. Otwórz footer.php w folderze Twojego motywu.

  2. Zlokalizuj tekst prawa autorskiego, spodziewaj się, że będzie to wszystko zakodowane, ale znalezione:

    <div id="copyright">
        <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  3. Teraz wiemy, że rok jest napisany gdzieś w WordPress admin, więc zlokalizuj, aby usunąć napisany tekst roku. W WP-Admin, przejdź do Options po lewej stronie główne menu admina:

    Tutaj wpisz opis obrazka następnie na następnej stronie przejdź do zakładki Disclaimers:

    Tutaj wpisz opis obrazka a w pobliżu Góry znajdziesz rok praw autorskich:

    Tutaj wpisz opis obrazka Usuń symbol © + rok + puste miejsce po roku, a następnie zapisz swoją stronę za pomocą przycisku Update W prawym górnym rogu strony.

  4. Z tekstową wersją year now delete, możemy przejść i dodać nasz rok, który aktualizuje się automatycznie za pomocą PHP. Wróć do fragmentu kodu w kroku 2 znalezionego w footer.php I update that to this:

    <div id="copyright">
        &copy;<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  5. Zrobione! wystarczy przetestować, aby upewnić się, że zmiany weszły w życie zgodnie z oczekiwaniami.

Może to nie być ten sam przypadek dla wielu, jednak natknęliśmy się na ten wzór wśród sporej liczby stron naszych klientów i uznaliśmy, że najlepiej byłoby udokumentować tutaj.

 0
Author: allenski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-11-20 21:16:42

Drukuj bieżący miesiąc za pomocą M, dzień za pomocą D i rok za pomocą Y.

<?php echo date("M D Y"); ?>
 0
Author: Muhammad Bilal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-28 06:28:24

Aby uzyskać bieżący rok za pomocą funkcji PHP date, możesz przekazać znak w formacie " Y " w następujący sposób:

/ / uzyskanie bieżącego roku za pomocą // PHP ' s date function.

$year = date("Y");
echo $year;

/ / uzyskanie bieżącego roku za pomocą // PHP ' s date function.

$year = date("Y");
echo $year;

Powyższy przykład wydrukuje pełną 4-cyfrową reprezentację bieżącego roku.

Jeśli chcesz odzyskać tylko dwucyfrowy format, możesz użyć małych liter w formacie "y":

$rok = Data ("y"); echo $rok; 1 2 $rok = Data ("y"); echo $rok; Powyższy fragment wydrukuje 20 zamiast 2020 lub 19 zamiast 2019 itd.

 0
Author: ephantus okumu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-01 08:31:44
<?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;
?>
 -2
Author: Gaurav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-16 09:39:45

Jeśli używasz rozszerzenia Carbon PHP API dla DateTime , możesz to łatwo osiągnąć:

<?php echo Carbon::now()->year; ?>

 -3
Author: andcl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-05-28 08:55:59