PHP: Как получить Day, используя Y-m-d? - PullRequest
2 голосов
/ 26 июля 2010

Я пытаюсь получить День (понедельник, вторник, среда, ...), используя формат даты "Y-m-d", но он не дает мне точный день.

Например:

date("l","2014-07-26"); // Output: Thursday

Но вывод должен быть: суббота

Спасибо

Ответы [ 7 ]

14 голосов
/ 26 июля 2010

Или с DateTime объектом

$dt = new DateTime('2014-07-26');
echo $dt->format('l'); // Saturday

или с процедурными псевдонимами

echo date_format(date_create('2014-07-26'), 'l');
4 голосов
/ 26 июля 2010

Вы можете использовать mktime (), как предлагали другие, но strtotime () немного более гибок и удобен для пользователя.

date('l', strtotime('2014-07-26')); 
3 голосов
/ 26 июля 2010

date () принимает в качестве второго параметра метку времени Unix, а не строковое представление даты. Если вы хотите это сделать, сначала вам нужно конвертировать в метку unixtime, используя strtotime ()

2 голосов
/ 26 июля 2010

очень простой способ - использовать strtotime :

date("l",strtotime("2014-07-26"));
1 голос
/ 26 июля 2010

Второй аргумент должен быть отметкой времени.

1 голос
/ 26 июля 2010

php функция даты принимает формат и метку времени.Использование «2014-07-26» в качестве метки времени не является правильным.Вы должны использовать метку времени эпохи Unix.

Для этого вы можете, например, сделать:

$t = "2014-07-26"; 
$t = explode("-", $t); //not $t = array("2014", "07", "26"); 
echo date("1", mktime(0,0,0,$t[1], $t[2], $t[0]); //using mktime with 
                                                  //hour, min, sec, month, day, year 
0 голосов
/ 26 июля 2010

Вы должны использовать mktime, чтобы сначала преобразовать дату в метку времени

date("l", mktime(0, 0, 0, 7, 26, 2014));

дата 1007 * указываете ей *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...