Как мне использовать PHP, чтобы получить текущий год?

Я хочу разместить уведомление об авторских правах в нижнем колонтитуле веб-сайта, но я думаю, что это невероятно безвкусно для года, чтобы быть устаревшим. Как мне сделать обновление года автоматически с помощью PHP 4 и PHP 5?

33 ответа

Решение

Вы можете использовать либо дату, либо strftime. В этом случае я бы сказал, что это не имеет значения, поскольку год - это год, несмотря ни на что (разве есть локаль, которая форматирует год по-другому?)

Например:

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

Напомним, что при форматировании дат в PHP имеет значение, когда вы хотите отформатировать дату в другой локали, чем по умолчанию. Если это так, вы должны использовать setlocale и strftime. Согласно руководству по PHP на дату:

Чтобы форматировать даты на других языках, вы должны использовать функции setlocale() и strftime() вместо date().

С этой точки зрения, я думаю, что было бы лучше использовать как можно больше strftime, если у вас даже есть удаленная возможность локализовать ваше приложение. Если это не проблема, выберите тот, который вам нравится больше всего.

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

Моя супер ленивая версия, показывающая строку об авторских правах, которая автоматически обновляется:

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

В этом году (2008) он скажет:

© 2008 Me, Inc.

В следующем году он скажет:

© 2008-2009 Me, Inc.

и навсегда оставаться в курсе текущего года.


Или (PHP 5.3.0+) - компактный способ сделать это, используя анонимную функцию, чтобы у вас не было утечек переменных и не повторял код / ​​константы:

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

Поскольку PHP движется в более объектно-ориентированном направлении, я удивлен, что никто здесь не ссылался на встроенный DateTime учебный класс:

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

или однострочник с доступом к члену класса при создании экземпляра (php>=5.4):

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

http://us2.php.net/date

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

Я люблю strftime. Это отличная функция для захвата / рекомбинации кусков даты / времени.

Кроме того, он учитывает настройки локали, которые не выполняет функция даты.

Это дает вам местное время:

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

И этот UTC:

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

Для 4-значного представления:

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

2-х значное представление:

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

Обратитесь к документации php для получения дополнительной информации: https://secure.php.net/manual/en/function.date.php

Вот что я делаю:

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

ниже немного объяснения того, что он делает:

d = day
m = month
Y = year

Y даст вам четыре цифры (например, 1990) и y для двух цифр (например, 90)

echo date('Y') дает вам текущий год, и это будет обновляться автоматически, так как date() дайте нам текущую дату.

Использовать функцию PHP, которая просто называется date(),

Она принимает текущую дату, а затем вы предоставляете ей формат

и формат просто будет Y. Capital Y будет четырехзначным годом.

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

Для получения дополнительной информации, проверьте документацию функции date(): https://secure.php.net/manual/en/function.date.php

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

Этот код должен делать

      $dateYear = date('Y');
echo "Current Year: $dateYear";

Текущий год: 2022

      $dateYear = date('y');
echo $dateYear;

22

Использовать PHP date() функция.

и формат будет просто Y. Capital Y будет четырехзначным годом.

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

Чтобы получить текущий год с помощью функции даты PHP, вы можете передать символ формата «Y» следующим образом:

// Получение текущего года с помощью // функции даты PHP.


// Получение текущего года с помощью // функции даты PHP.

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

В приведенном выше примере будет распечатано полное 4-значное представление текущего года.

Если вы хотите получить только двухзначный формат, вы можете использовать символ формата «y» в нижнем регистре:

$ год = дата ("у"); echo $ год; 1 2 $ год = дата ("у"); echo $ год; Приведенный выше фрагмент распечатает 20 вместо 2020 или 19 вместо 2019 и т. Д.

До php 5.4+

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

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

Или вы можете использовать его с одной строкой

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

Если вы хотите увеличить или уменьшить год другим методом; добавить строку модификации, как показано ниже.

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

Если ваш сервер поддерживает короткие теги или вы используете PHP 5.4, вы можете использовать:

<?=date("Y")?>

Просто пиши:

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

Или же:

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

И "эхо" это значение...

Кстати... есть несколько правильных способов отображения авторских прав на сайт. Некоторые люди имеют тенденцию делать вещи излишними, например: Copyright © оба имеют одинаковое значение. Важными частями авторского права являются:

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

Использование PHP + HTML:

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

или же

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

Получите полный год использования:

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

Или используйте только две цифры года:

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

Вы можете использовать простой класс дат PHP. Он предоставляет много полезных методов и функций:

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

Вы можете проверить страницу учебников библиотеки для большего количества примеров

Мой способ показать авторские права, который продолжает обновляться автоматически

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

Результаты будут выведены как

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

Лучший шорткод для этого раздела:

<?= date("Y"); ?>

В Laravel

      $date = Carbon::now()->format('Y');
return $date;

В PHP

      echo date("Y");
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

Вы можете использовать это в разделах нижнего колонтитула, чтобы получить динамический год авторского права

$year = date("Y", strtotime($yourDateVar));

создайте вспомогательную функцию и вызовите ее

      getCurrentYear();

function getCurrentYear(){
    return now()->year;
}

В моем случае уведомление об авторских правах в нижнем колонтитуле веб-сайта WordPress требовало обновления.

мысль простая, но потребовала шага или больше, чем предполагалось.

  1. открыто footer.php в папке вашей темы.

  2. Найдите текст об авторских правах; ожидалось, что это все жестко запрограммировано, но найдено:

             <div id="copyright">
        <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  3. Теперь мы знаем, что год написан где-то в админке WordPress, поэтому найдите его, чтобы удалить текст года. В WP-Admin перейдите в Options в главном меню администратора слева:

    Затем на следующей странице перейдите на вкладку Disclaimers:

    и вверху вы найдете год авторского права:

    УДАЛИТЕ символ © + год + пустое место после года, затем сохраните страницу с помощью Update кнопку в правом верхнем углу страницы.

  4. Теперь, когда текстовая версия года удаляется, мы можем добавить наш год, который автоматически обновляется с помощью PHP. Вернитесь к фрагменту кода ШАГА 2, найденному в footer.php и обновите это до этого:

             <div id="copyright">
        &copy;<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  5. Готово! Просто нужно протестировать, чтобы убедиться, что изменения вступили в силу, как ожидалось.

для многих это может быть не то же самое, однако мы встретили этот шаблон на большом количестве наших клиентских сайтов и подумали, что было бы лучше задокументировать здесь.

Выведите текущий месяц через M, день через D и год через Y.

      <?php echo date("M D Y"); ?>
Другие вопросы по тегам