Я хочу поместить уведомление об авторских правах в нижний колонтитул веб-сайта, но я думаю, что это невероятно безвкусно, потому что год устарел.
Как мне сделать автоматическое обновление года с помощью PHP 4 или PHP 5?
Я получил предупреждение, используя это. Добавлен date_default_timezone_set ('UTC'); чтобы избежать предупреждения. («UTC + 1» не работает ... ничего не могу сказать, если только начать с PHP). Вероятно, есть способ настроить PHP, чтобы избежать выдачи предупреждений (в каком-то конфигурационном файле, таком как php.ini).
@justin Это означает, что вы не установили часовой пояс по умолчанию, и PHP это не нравится. Вы можете установить часовой пояс по умолчанию в файле php.ini, используя что-то вроде date.timezone = "America/Los_Angeles", или вы можете установить его в начале вашего кода, используя что-то вроде date_default_timezone_set( "America/Los_Angeles" ).
- восклицает Джош. Я выбрал второй подход, потому что это решение, с которым я столкнулся первым. Хорошо знать, что установить в php.ini, чтобы это действовало во всех скриптах.
ПРИМЕЧАНИЕ. Год в уведомлении об авторских правах на самом деле не имеет большого юридического значения, но обычно добавляется, чтобы помочь людям, которые хотят знать, действует ли по-прежнему авторское право. Таким образом, предполагается, что это год публикации работы. Просто использовать текущий год действительно не имеет никакого смысла ... Однако я видел это бесчисленное количество раз.
Это лучший способ, и я думаю, что фреймворки, такие как drupal и wordpress, должны добавить этот подход.
@StijndeWitt отлично справился. Для справки, год действия авторских прав - это дата его публикации, и на самом деле он не имеет реальной ценности. Тем не менее, я случайно столкнулся с этим, потому что делал то же самое. B-)
@Stijn de Witt Хотя технически это верно, уведомление об авторских правах полная остановка не имеет реальной цели, авторское право является автоматическим, вам не нужно объявлять об этом. А учитывая, что у большинства веб-сайтов есть динамическая часть, то «год публикации» будет регулярно меняться (по крайней мере, если мы включаем исправления), поэтому наличие года в нижнем колонтитуле, отражающего текущий год, совершенно разумно, так как это хороший показатель того, что контент актуален. Неформально это почти все, для чего он используется, чтобы сказать: «Этот веб-сайт все еще актуален».
@NathanHornby Я знаю, что это автоматически. Таким образом, уведомление не имеет реальной юридической силы и носит информативный характер. Следовательно, всегда указывать текущий год - это плохо, так как это дезинформативный, это абсолютно ничего вам не говорит. Кроме того, авторское право не распространяется автоматически на весь контент на веб-сайте. Вместо этого он применяется к каждой отдельной публикации с момента ее публикации. Моя точка зрения: укажите дату публикации или вообще не указывайте ее. Не пишите скрипт на текущую дату.
Я лично утверждаю, что это стало веб-конвенцией, поэтому, хотя вы технически правы, люди этого не ожидают. Факт остается фактом: хотя надпись «Авторское право 2007, все права защищены» в нижнем колонтитуле страницы, содержащей статью, написанную в 2007 году, является технически правильным, посетители сайта могут предположить, что сайт был заброшен. Даже большие корпорации с командами юристов по-прежнему штампуют на своих веб-страницах текущий год, даже если это «2007–2015 годы».






<?php echo date("Y"); ?>
короткие теги поддерживаются не всеми серверами, а также есть это: programmers.stackexchange.com/questions/151661/…
В PHP 5.4 вы можете свободно использовать короткие эхо-теги, как показано выше. Они намного приятнее во взглядах, имхо.
@ShaneReustle, вы пропустили точку с запятой в конце;) Я знаю, что в данном случае они не важны, но это хорошая практика для новичков :)
strftime("%Y");
Обожаю strftime. Это отличная функция для захвата / объединения фрагментов дат / времени.
Кроме того, он учитывает настройки локали, чего не делает функция даты.
echo date('Y');
print date('Y');
Для получения дополнительной информации см. Документацию по функции date (): https://secure.php.net/manual/en/function.date.php
Это дает вам местное время:
$year = date('Y'); // 2008
А этот универсальное глобальное время:
$year = gmdate('Y'); // 2008
Вы можете использовать Дата или strftime. В этом случае я бы сказал, что это не имеет значения, поскольку год есть год, несмотря ни на что (если нет локали, которая форматирует год по-другому?)
Например:
<?php echo date("Y"); ?>
Кстати, при форматировании дат в PHP имеет значение, когда вы хотите отформатировать дату в другом языке, чем ваш по умолчанию. Если это так, вы должны использовать setlocale и strftime. Согласно руководство по php на дату:
To format dates in other languages, you should use the setlocale() and strftime() functions instead of date().
С этой точки зрения, я думаю, было бы лучше использовать strftime как можно чаще, если у вас даже есть удаленная возможность локализации вашего приложения. Если это не проблема, выберите тот, который вам больше нравится.
@ErikvanBrakel просто из интереса, текущий год в Таиланде - 2556. Не уверен, учитывает ли это локаль PHP, но в идеальном мире это должно быть :)
Вы можете просто сказать: date ("Y");
Китайские и японские годы ftw! 2016 年 / 二千 十六 年
Если бы я мог сделать это на Youtube. "Например, если вы смотрите это в <? Php echo date (" Y ");?>"
Да, существует МНОГО разных способов отформатировать год, например Тайские годы - буддийская эра (+543 по западному методу счета)
также вы можете использовать now () -> year ... это почти то же самое
Моя супер-ленивая версия отображения строки авторских прав, которая автоматически обновляется:
© <?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 echo 2008 != date('Y') ? '2008 - ' . date('Y') : 2008; ?> Me, Inc.
Моя однострочная версия: <?php echo '© 2008', ($year = gmdate("Y")) !== '2008'? ' - '.$year : '', ' Me, Inc.'; ?>
Если ваш сервер поддерживает короткие теги или вы используете PHP 5.4, вы можете использовать:
<?=date("Y")?>
Пожалуйста, никогда, никогда больше не используйте короткие теги. stackoverflow.com/questions/200640/…
php v5.4.0 - тег <? = всегда доступен независимо от ini-настройки short_open_tag, поэтому теперь вы можете использовать этот синтаксис.
Вот что я делаю:
<?php echo date("d-m-Y") ?>
ниже приведено небольшое объяснение того, что он делает:
d = day
m = month
Y = year
Y даст вам четыре цифры (например, 1990) и y для двух цифр (например, 90).
echo date('Y') показывает текущий год, и он будет обновляться автоматически, поскольку date() сообщает нам текущую дату.
<?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;
?>
Это не то, о чем они просят, и не это объясненный ответ.
Для 4-значного представления:
<?php echo date('Y'); ?>
2-значное представление:
<?php echo date('y'); ?>
Обратитесь к документации php для получения дополнительной информации: https://secure.php.net/manual/en/function.date.php
Просто пиши:
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
И "повторить" это значение ...
Кстати ... есть несколько правильных способов, как отображать авторские права на сайт. Некоторые люди склонны делать вещи излишними, например: Авторское право © имеет одно и то же значение. Важными частями авторского права являются:
**Symbol, Year, Author/Owner and Rights statement.**
Using 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 до 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, которая называется date().
Он берет текущую дату, а затем вы предоставляете ей формат
и формат будет просто Y. Заглавная буква Y будет четырехзначным годом.
<?php echo date("Y"); ?>
<?php echo date("Y"); ?>
Этот код должен делать
Старайтесь избегать коротких тегов формы, будь то <? или <? =, потому что это не очень хорошая практика. Тем не менее, стоит упомянуть, что многие хорошие фреймворки, такие как Zend, не допускают сокращенного открывающего тега PHP связь, поэтому, пожалуйста, ради меня, выполните несколько нажатий клавиш, чтобы сохранить читаемость кода.
Похоже, это просто повторение этот существующий ответ.
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>
Вы можете использовать это в разделах нижнего колонтитула, чтобы получить динамический год авторского права
Получите полный год использования:
<?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
?>
Мой способ показать авторские права, который продолжает автоматически обновляться
<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.
используйте функцию PHP date().
и формат будет просто Y. Заглавная буква Y будет четырехзначным годом.
<?php echo date("Y"); ?>
лучший шорткод для этого раздела:
<?= date("Y"); ?>
Я собирался написать то же самое: D
Если вы используете Расширение Carbon PHP API для DateTime, вы можете легко добиться этого:
<?php echo Carbon::now()->year; ?>
похоже на Laravel .... однако метода даты php вполне достаточно
$year = date("Y", strtotime($yourDateVar));
в моем случае уведомление об авторских правах в нижнем колонтитуле веб-сайта 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"); ?>
Чтобы получить текущий год с помощью функции даты PHP, вы можете передать символ формата «Y» следующим образом:
// Получение текущего года с помощью // Функция даты PHP.
$year = date("Y");
echo $year;
// Получение текущего года с помощью // Функция даты PHP.
$year = date("Y");
echo $year;
В приведенном выше примере будет распечатано полное 4-значное представление текущего года.
Если вы хотите получить только двухзначный формат, вы можете использовать символ формата «y» в нижнем регистре:
$ год = дата ("у"); echo $ год; 1 2 $ год = дата ("у"); echo $ год; Приведенный выше фрагмент распечатает 20 вместо 2020 или 19 вместо 2019 и т. д.
Для получения дополнительной цены во втором параметре функции даты strtotime возвращает метку времени, переданную параметром
echo date('Y', strtotime("now"));
echo strftime("%Y", strtotime("now"));
С классом datetime
echo (new DateTime)->format('Y');
echo date("Y");