Я хочу напечатать имя дня, давая числа от 1 до 7.
Пример:
<?php echo date("1"); ?>
и хотите получить выход в Monday
. Но он печатает 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
Используйте как:
$mydate = '2016-01-01'; echo date('l, F jS, Y', strtotime($mydate)); # Friday, January 1st, 2016
обратите внимание на букву l (нижний регистр L )
вы не можете сделать это с помощью date()
date()
= Возвращает строку, отформатированную в соответствии с заданной строкой формата, используя заданную метку времени или текущее время, если не указана метка времени.
Вы можете установить массив с вашими значениями:
$dates = array("", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); echo $dates[1]; // will output Monday
если вы хотите, чтобы имя текущего дня
echo date ('l'); // (lowercase 'L')
Другими словами, прочитайте руководство
$mydate = '2016-09-25'; date('l', strtotime($mydate));
«L» l для блокировки: P
function dt($val) { $arrWeek = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); return $arrWeek[$val]; }
Вы можете использовать
echo date('l');
Также, если вы хотите локализовать его:
setlocale(LC_TIME, "C");//you need to change C with your locale. echo strftime("%A");
решит вашу проблему.
если кто-то использует класс Carbon, который унаследован от класса PHP DateTime ,
Carbon::parse('yourdate')->formatLocalized('%A');
Локализация API углерода