Как мне использовать PHP, чтобы получить текущий год?
33 ответа
Вы можете использовать либо дату, либо strftime. В этом случае я бы сказал, что это не имеет значения, поскольку год - это год, несмотря ни на что (разве есть локаль, которая форматирует год по-другому?)
Например:
<?php echo date("Y"); ?>
Напомним, что при форматировании дат в PHP имеет значение, когда вы хотите отформатировать дату в другой локали, чем по умолчанию. Если это так, вы должны использовать setlocale и strftime. Согласно руководству по PHP на дату:
Чтобы форматировать даты на других языках, вы должны использовать функции setlocale() и strftime() вместо date().
С этой точки зрения, я думаю, что было бы лучше использовать как можно больше strftime, если у вас даже есть удаленная возможность локализовать ваше приложение. Если это не проблема, выберите тот, который вам нравится больше всего.
Моя супер ленивая версия, показывающая строку об авторских правах, которая автоматически обновляется:
© <?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+) - компактный способ сделать это, используя анонимную функцию, чтобы у вас не было утечек переменных и не повторял код / константы:
©
<?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");
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
$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'>© <?php echo date("Y"); ?> Company Name All Rights Reserved</p>
или же
<p id='copyright'>© <?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 ©
<?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.
В Laravel
$date = Carbon::now()->format('Y');
return $date;
В PHP
echo date("Y");
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>
Вы можете использовать это в разделах нижнего колонтитула, чтобы получить динамический год авторского права
создайте вспомогательную функцию и вызовите ее
getCurrentYear();
function getCurrentYear(){
return now()->year;
}
В моем случае уведомление об авторских правах в нижнем колонтитуле веб-сайта WordPress требовало обновления.
мысль простая, но потребовала шага или больше, чем предполагалось.
открыто
footer.php
в папке вашей темы.Найдите текст об авторских правах; ожидалось, что это все жестко запрограммировано, но найдено:
<div id="copyright"> <?php the_field('copyright_disclaimer', 'options'); ?> </div>
Теперь мы знаем, что год написан где-то в админке WordPress, поэтому найдите его, чтобы удалить текст года. В WP-Admin перейдите в
Options
в главном меню администратора слева:Затем на следующей странице перейдите на вкладку
Disclaimers
:и вверху вы найдете год авторского права:
УДАЛИТЕ символ © + год + пустое место после года, затем сохраните страницу с помощью
Update
кнопку в правом верхнем углу страницы.Теперь, когда текстовая версия года удаляется, мы можем добавить наш год, который автоматически обновляется с помощью PHP. Вернитесь к фрагменту кода ШАГА 2, найденному в
footer.php
и обновите это до этого:<div id="copyright"> ©<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?> </div>
Готово! Просто нужно протестировать, чтобы убедиться, что изменения вступили в силу, как ожидалось.
для многих это может быть не то же самое, однако мы встретили этот шаблон на большом количестве наших клиентских сайтов и подумали, что было бы лучше задокументировать здесь.
Выведите текущий месяц через M, день через D и год через Y.
<?php echo date("M D Y"); ?>