Как получить день недели из метки времени Unix (PHP)? - PullRequest
10 голосов
/ 19 марта 2010

Как я могу получить день (1-7) из отметки времени Unix в PHP? Мне также нужны дата дня (1-31) и месяц (1-12).

Ответы [ 5 ]

42 голосов
/ 19 марта 2010

Вы можете использовать date () function

$weekday = date('N', $timestamp); // 1-7
$month = date('m', $timestamp); // 1-12
$day = date('d', $timestamp); // 1-31
7 голосов
/ 19 марта 2010

см. 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";
6 голосов
/ 19 марта 2010

Это функция date () , которую вы ищете.

Вы можете получить более подробную информацию из руководства по 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
2 голосов
/ 19 марта 2010
print "Week".date('N')."\n";
print "day of month " .date('d')."\n";
print "month ".date('m')."\n";
1 голос
/ 19 марта 2010

Используйте функцию date , как указано выше, с вашим $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 .

...