Certain WordPress tag functions are used to display or return date and time information; the_date() and the_time() are examples of this. Some of these functions accept a parameter called a format string that allows you to determine how the date is going to be displayed. The format string is a template in which various parts of the date are combined (using "format characters") to generate a date in the format specified.
For example, the format string:
l, F j, Y
creates a date that look like this:
Friday, September 24, 2004
Here is what each format character in the string above represents:
l
= Full name for day of the week (lower-case L).F
= Full name for the month.j
= The day of the month.Y
= The year in 4 digits. (lower-case y gives the year's last 2 digits)WordPress is written in the programming language PHP. The date formatting functions in WordPress use PHP's built-in date formatting functions. You can use the table of date format characters on the PHP website as a reference for building date format strings for use in WordPress. Here is a table of some of the more useful items found there:
Day of Month | ||
---|---|---|
d | Numeric, with leading zeros | 01–31 |
j | Numeric, without leading zeros | 1–31 |
S | The English suffix for the day of the month | st, nd or th in the 1st, 2nd or 15th. |
Weekday | ||
l | Full name (lowercase 'L') | Sunday – Saturday |
D | Three letter name | Mon – Sun |
Month | ||
m | Numeric, with leading zeros | 01–12 |
n | Numeric, without leading zeros | 1–12 |
F | Textual full | January – December |
M | Textual three letters | Jan - Dec |
Year | ||
Y | Numeric, 4 digits | Eg., 1999, 2003 |
y | Numeric, 2 digits | Eg., 99, 03 |
Time | ||
a | Lowercase | am, pm |
A | Uppercase | AM, PM |
g | Hour, 12-hour, without leading zeros | 1–12 |
h | Hour, 12-hour, with leading zeros | 01–12 |
G | Hour, 24-hour, without leading zeros | 0-23 |
H | Hour, 24-hour, with leading zeros | 00-23 |
i | Minutes, with leading zeros | 00-59 |
s | Seconds, with leading zeros | 00-59 |
T | Timezone abbreviation | Eg., EST, MDT ... |
Full Date/Time | ||
c | ISO 8601 | 2004-02-12T15:19:21+00:00 |
r | RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
Here are some examples of date format and result output.
F j, Y g:i a
- November 6, 2010 12:50 amF j, Y
- November 6, 2010F, Y
- November, 2010g:i a
- 12:50 amg:i:s a
- 12:50:48 aml, F jS, Y
- Saturday, November 6th, 2010M j, Y @ G:i
- Nov 6, 2010 @ 0:50Y/m/d \a\t g:i A
- 2010/11/06 at 12:50 AMY/m/d \a\t g:ia
- 2010/11/06 at 12:50amY/m/d g:i:s A
- 2010/11/06 12:50:48 AMY/m/d
- 2010/11/06Combined with the_time()
template tag, the code below in the template file:
This entry was posted on <?php the_time('l, F jS, Y') ?> and is filed under <?php the_category(', ') ?>.
will be shown on your site as following:
This entry was posted on Friday, September 24th, 2004 and is filed under WordPress and WordPress Tips.
To localize dates, use the date_i18n() function.
You can probably safely localize these date format strings with the __()
, _e()
, etc. functions (demonstrated with get_the_date(__(…))
):