Community Documentation

Formatting the way the date/time is displayed

Last updated May 22, 2012. Created by Evan Leeson on June 27, 2006.
Edited by mototribe, MGParisi, bekasu. Log in to edit this page.

You can control way the date is displayed [admin/settings/date settings], or if it is displayed at all [admin/themes/configure/display post information on], in the main Drupal settings, but only to a certain extent.

If you want complete control over how the date is displayed, use PHP at the Theme level. This is from the disussions and is courtesy of Laura S.

At the top of your node.tpl.php file, add:

<?php
$formatted_date
= format_date($node->created, 'custom', 'D j M Y');
?>

Change the "D j M Y" part to what you require (see below for possible variables).

Then print or echo $formatted_date instead of $date. Look in your template for the string $date and replace it with $formatted_date.

To change the date/time display to your taste, arrange the following variables in the manner you require:

a - "am" or "pm"
A - "AM" or "PM"
d - day of the month, 2 digits with leading zeros; i.e. "01" to "31"
D - day of the week, textual, 3 letters; i.e. "Fri"
F - month, textual, long; i.e. "January"
h - hour, 12-hour format; i.e. "01" to "12"
H - hour, 24-hour format; i.e. "00" to "23"
g - hour, 12-hour format without leading zeros; i.e. "1" to "12"
G - hour, 24-hour format without leading zeros; i.e. "0" to "23"
i - minutes; i.e. "00" to "59"
j - day of the month without leading zeros; i.e. "1" to "31"
l (lowercase 'L') - day of the week, textual, long; i.e. "Friday"
L - boolean for whether it is a leap year; i.e. "0" or "1"
m - month; i.e. "01" to "12"
n - month without leading zeros; i.e. "1" to "12"
M - month, textual, 3 letters; i.e. "Jan"
s - seconds; i.e. "00" to "59"
S - English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
t - number of days in the given month; i.e. "28" to "31"
U - seconds since the epoch
w - day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
Y - year, 4 digits; i.e. "1999"
y - year, 2 digits; i.e. "99"
z - day of the year; i.e. "0" to "365"
Z - timezone offset in seconds (i.e. "-43200" to "43200")

For a full list see http://us.php.net/manual/en/function.date.php

Drupal 5.1 Garamond Difference

In Garamond (and possibly other themes) for 5.1 the procedure is different than described above. Go to Line 12 in node.tpl.php and change

format_date($node->created)

to

format_date($node->created, 'custom', 'M j, Y')

Substitute your own preference for: 'M j, Y' according to the info given in the original post.

Comments

Time Saver

This saved me a lot of time, thanks.

About this page

Drupal version
Drupal 4.6.x, Drupal 4.7.x, Drupal 5.x, Drupal 6.x, Drupal 7.x
Audience
Developers and coders, Themers

Theming Guide

Drupal’s online documentation is © 2000-2012 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License. Comments on documentation pages are used to improve content and then deleted.
nobody click here