horgen
horgen

Reputation: 2203

How to get the day of the week from a Unix timestamp (PHP)?

How do I get the day (1-7) from a Unix timestamp in PHP? I also need the day date (1-31) and month (1-12).

Upvotes: 17

Views: 53621

Answers (5)

muruga
muruga

Reputation: 2122

print "Week".date('N')."\n";
print "day of month " .date('d')."\n";
print "month ".date('m')."\n";

Upvotes: 2

dyve
dyve

Reputation: 6023

Use the date function as stated before, with your $timestamp as the second argument:

$weekday = date('N', $timestamp); // 1 = Monday to 7 = Sunday
$month = date('m', $timestamp); // 1-12 = Jan-Dec
$day = date('d', $timestamp); // 1-31, day of the month

Not all PHP versions play nice with negative timestamps. My experience is that timestamps dating back to before the UNIX epoch fare better with the new DateTime object.

Upvotes: 3

Dyllon
Dyllon

Reputation: 1259

It's the date() function you're after.

You can get more details from the PHP manual but in a nutshell here are the functions you need.

date('N', $timestamp);
//numeric representation of the day of the week

date('j', $timestamp);
//Day of the month without leading zeros

date('n', $timestamp);
//Numeric representation of a month, without leading zeros

Upvotes: 9

ahmetunal
ahmetunal

Reputation: 3960

You can use date() function

$weekday = date('N', $timestamp); // 1-7
$month = date('m', $timestamp); // 1-12
$day = date('d', $timestamp); // 1-31

Upvotes: 54

VolkerK
VolkerK

Reputation: 96159

see http://docs.php.net/getdate

e.g.

$ts = time(); // could be any timestamp
$d=getdate($ts);

echo 'day of the week: ', $d['wday'], "\n";
echo 'day of the month: ', $d['mday'], "\n";
echo 'month: ', $d['mon'], "\n";

Upvotes: 10

Related Questions