Reputation: 2203
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
Reputation: 2122
print "Week".date('N')."\n";
print "day of month " .date('d')."\n";
print "month ".date('m')."\n";
Upvotes: 2
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
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
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
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