Tired of updating a whole bunch of site footers after New Year passed? There are several ways of accomplishing this and it's easier than you might think!

The PHP Way

This snippet always displays the current year in the copyright line.

For example:

&copy; <?php 
$startYear = 2010; 
$curYear = date('Y'); 
echo $startYear . (($startYear != $curYear) ? '-' . $curYear : '');
?> www.example.com

Results in:
© 2010-2013 www.example.com

If in a new website the current year is still the start year ($startYear = 2013), only one will be displayed. For example:
© 2013 www.example.com

*Note: This method is not recommended if you plan to use it in the "PHP" input filter. Using the PHP input filter is a deprecated method for several reasons: first, using the PHP input filter is not secure and second, Drupal won't cache areas of the site that use the PHP filter. In fact, Drupal 8 no longer has the PHP filter module as a core option.

The Contrib Module Way

Both the PageRank Widget and Uptime Widget module have this functionality added as a bonus option. This is a great alternative for those who want a quick and easy way of getting the copyright year into their footer without having to worry about updating it.

The Token Filter Way

Last but not least, another method is to install the Token Filter module. This will allow you to expose all of the site-wide tokens at the input filter level (Full HTML filter for example), using the [date:custom:Y] token for the current year. For the start year, simply add it as a static year.

Example 1:

Copyright © 2005-[date:custom:Y]

Result: Copyright © 2005-2013

Example 2:

Copyright © 2005-[date:custom:Y] | <a href="[site:url]" title="[site:name] Home Page">[site:name]</a>

Result: Copyright © 2005-2013 | Drupal.org

List of built-in tokens for Drupal 7

The benefit to this method is the flexibility it gives when constructing the footer copyright. The easiest way to do this is by creating a new block and adding it to the text area, then switch the input filter over to the one that has token filter enabled.

If you use this method, make sure you only allow trusted people access to the token input filter.

Comments

Ankit Maurya’s picture

{{ "now"|date("Y") }}

imanb’s picture

As mentioned we can easily do using Token Filter Module. After enabling the module need to go the text format administration
page and edit a text format and check the 'Replaces global tokens with their value' filter and save the text format.

After that you can pick-up the desired token from the browser by clicking 'Browse available tokens'. For example if you want to make copyright part dynamic like ©2021, you only need add ©[current-date:html_year] in the text editor field.