Хочу напечатать полное имя дня

Я хочу напечатать имя дня, дающего числа от 1 до 7.

Пример:

<?php
 echo date("1");
?>

и хотите получить вывод как Monday. Но он печатает 1.

Может ли кто-нибудь мне помочь?

Ответ 1

echo date ('l');

удивительно то, что вы найдете в руководстве, его l не 1

l (нижний регистр "L" ) Полное текстовое представление дня неделя с воскресенья по субботу

Обновление

скрытность не должна создавать собственный массив имен дней

$day='1'; 
echo date("l", mktime(0,0,0,8,$day,2011));// it will work for day 1-7 

Ответ 2

Используйте как:

$mydate = '2016-01-01';
echo date('l, F jS, Y', strtotime($mydate));
# Friday, January 1st, 2016

обратите внимание на букву l (нижний регистр L)

Ответ 3

вы не можете сделать это с помощью date()

date()= Возвращает строку, отформатированную в соответствии с заданной строкой формата, используя заданную метку времени или текущее время, если не указана метка времени.

Вы можете установить массив с вашими значениями:

$dates = array("", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
echo $dates[1]; // will output Monday

если вы хотите, чтобы имя текущего дня

echo date ('l'); // (lowercase 'L')

Другими словами, прочитайте manual

Ответ 4

$mydate = '2016-09-25';
date('l', strtotime($mydate));

"l" l для блокировки: P

Ответ 5

function dt($val) { 
    $arrWeek = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    return $arrWeek[$val];
}

Ответ 6

Вы можете использовать

echo date('l');

Также, если вы хотите локализовать его:

setlocale(LC_TIME, "C");//you need to change C with your locale.
echo strftime("%A");

решит вашу проблему.