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

StackOverflow https://stackoverflow.com/questions/64003

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Вы можете использовать любой из них Дата или 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 ( время ожидания ).Это отличная функция для захвата / рекомбинации фрагментов дат / времени.

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

Здесь указано местное время:

$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() сообщите нам текущую дату.

print date('Y');

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

Если ваш сервер поддерживает короткие теги или вы используете 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

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

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

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

и формат будет просто Y.Заглавной буквой Y будет четырехзначный год.

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

Этот код должен выполнять

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

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

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

Для версии до 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')
?>

Кстати...есть несколько правильных способов отображения авторских прав на сайт.Некоторые люди склонны делать вещи излишними , т. е.: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 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 &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.

используйте PHP date() функция.

и формат будет просто Y.Заглавной буквой Y будет четырехзначный год.

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

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

<?= date("Y"); ?>
<?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;
?>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top