This chapter is from the book

This chapter is from the book

Most
of the
time,
the
date
and
time
functionalities
of PHP
5 are
used
for
printing
out
the
current
date
and
timeto
pretend
that
the
web
page
is up
to date
(you
would
be surprised
how
many
larger
websites
actually
use
this).
But
apart
from
that,
working
with
date
and
time
in PHP
offers
many
other
possibilities,
most
of which
you
will
find
in this
chapter.

First,
though,
it seems
appropriate
to have
a look
at the
PHP
function
that
is probably
used
the
most
for
working
with
datesdate().
This
function
can
take
the
current
date
(or
an arbitrary
one)
and
extract
some
information
about
it,
for
example,
the
day,
whether
it's
a.m.
or p.m.,
and
what
time
it is
according
to the
rather
failed
marketing
stunt, "Swatch
Internet
Time." To
do so,
you
call
date()
and
provide
a string
as the
first
parameter.
This
string
may
now
contain
a list
of formatting
symbols
that
can
be seen
in Table
3.1
(the
PHP
manual
carries
a list
with
more
examples
at http://php.net/date).
Each
of these
symbols
is replaced
by the
associated
date/time
value.

Table
3.1
Formatting
Symbols
for
date()

Symbol

Description

a

am
or pm

A

AM
or PM

B

Swatch
Internet Time (between 000 and
999)

c

Date
in ISO 8601 format

d

Day
of month (from 01 to 31)

D

Day
of week (from Mon to Sun)

F

Month
(from January to December)

g

Hour
(from 1 to 12)

G

Hour
(from 0 to 23)

h

Hour
(from 01 to 12)

H

Hour
(from 00 to 23)

i

Minutes
(from 00 to 59)

I

Whether
date is in DST (1) or not (0)

j

Day
of month (between 1 and 31)

l

Day
of month (from Sunday to Saturday)

L

Whether
date is in a leap year (1) or
not (0)

m

Month
(from 01 to 12)

M

Month
(from Jan to Dec)

n

Month
(from 1 to 12)

O

Difference
to GMT (for example, +0100 for
one hour ahead)

r

Date
in RFC 2822 format

s

Seconds
(from 00 to 59)

S

Ordinal
suffix for the day of month
(st, nr, td, th)

t

Number
of days in the provided month
(from 28 to 31)

T

Time
zone of server (for example,
CET)

U

Epoche
value (seconds since January
1st,
1970, Midnight GMT)

w

Day
of week (from 0Sunday,
to 6Saturday)

W

Week
number (according to ISO 8601,
from 1 to 53)

y

Year
(two digits)

Y

Year
(four digits)

z

Day
of year (from 0 to 365)

Z

Time
zone difference to UTC (in seconds)

NOTE

Almost
all of the formatting symbols
shown in Table 3.1 are available
since PHP 3. There are only two
exceptions: Using W for determining
the week number of a date was
added in PHP 4.1.0, and using
c for retrieving the ISO 8601
representation for a date (for
example, 2006-06-30T12:34:56+01:00)
came in PHP 5.

The
function
date()
is very
powerful
and
offers
a broad
range
of ways
to use
it.
However,
especially
if you
have
localized
content,
you
need
some
good
phrases.
In this
chapter,
you
will
find
many
of them.

PHP's
date
and
time
functions
have
their
own
section
in the
PHP
manual.
You
can
find
more
information
about
date()
and
friends
at http://php.net/datetime.

Using
Text
Within
date()

date('\To\d\a\y \i\s \t\he jS \d\a\y of F')

Imagine
you
want
to output
the
current
date
(or
a specific
date)
and
use
custom
strings
in it.
The
code
could
look
like
a mess
if you
are
trying
it like
this:

The output of this script is something like this, depending on the current
date:

Today is the 3rd day of the month May

The behavior of date() is the following: All characters within the first
parameter that bear a special meaning (for example, formatting symbols) get
replaced by the appropriate values. All other characters, however, remain
unchanged. If a character is escaped using the backslash character (\), it is
returned verbatim. So, the code at the beginning of this phrase shows a new
version of the code that only uses one call to date().

NOTE

If you are using double quotes instead of single quotes, you might get into
trouble when escaping certain characters within date(). In the previous example,
escaping the n would be done with \n, which (within double quotes) gets replaced
by the newline character.