Как получить день (1-7) из временной метки Unix в PHP? Мне также нужна дата дня (1-31) и месяц (1-12).
Вы можете использовать функцию date ()
$weekday = date('N', $timestamp); // 1-7 $month = date('m', $timestamp); // 1-12 $day = date('d', $timestamp); // 1-31
см. http://docs.php.net/getdate
например
$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";
Это функция даты (), которой вы пользуетесь.
Вы можете получить более подробную информацию из руководства по PHP, но в двух словах вот функции, которые вам нужны.
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
print "Week".date('N')."\n"; print "day of month " .date('d')."\n"; print "month ".date('m')."\n";
Используйте функцию даты, как указано выше, с вашей $timestamp
в качестве второго аргумента:
$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
Не все версии PHP отлично смотрятся с отрицательными отметками времени. Мой опыт заключается в том, что временные метки, начиная с эпохи UNIX, улучшаются с новым объектом DateTime .