2013-06-02 2 views
0

Привет ребята им Любопытное застрял с 1 частью моего PHP файла, у меня есть все остальное установка работает так, как мне нужно, просто этот бит я застрял наПоказать день недели в PHP из области

я есть последующая строка установки

echo "<td align='left' valign='middle' bgcolor='" . $color . "'><font size='" . $fontsize . "'>" . $row['date'] . "</td>"; 

я хочу, чтобы показать, как день, для примера 02/06/2013 покажет в воскресенье, а не в полной даты

я уже

date_default_timezone_set('Europe/London'); 
+0

Взгляните на этот вопрос: http://stackoverflow.com/questions/712761/how-to-find-day-of-week-in-php –

ответ

3

Вы можете использовать класс DateTime и отформатировать его.

$date = new DateTime($row['date']); 
echo $date->format('d/m/Y'); // will print 02/06/2013 
echo $date->format('l'); // will print a day like Sunday 

Или просто использовать функцию дата:

echo date('d/m/Y', $row['date']); // will print 02/06/2013 
echo date('l', $row['date']); // will print a day like Sunday 

Check the date manual for more info.

+0

Ответчик хотел день недели, а не полный вывода. Тем не менее, вы сделали полезный шаг к решению (предоставляя DateTime) –

+0

Я неправильно понял вопрос, уже отредактировал ответ :) @ChrisForrence –

+0

Мне тоже нужно было прочитать вопрос, не беспокойтесь! –

3

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

$date = new DateTime($row['date']); 
echo $date->format('l'); 

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

$date = DateTime::createFromFormat("m/d/Y", $row['date']); 
echo $date->format('l'); 
1

Используйте DateTime::createFromFormat его более безопасным

echo DateTime::createFromFormat("d/m/Y","02/06/2013")->format("l"); 
0

Просто форматировать дату правильно: -

$date = \DateTime::createFromFormat('d/m/Y', $row['date']); 
echo "<td>" . $date->format('l') . "</td>"; 
0

Вы должны иметь массив названия дней:

$days = array(
       1 => 'Monday', 
       2 => 'Tuesday', 
       3 => 'Wednesday', 
       4 => 'Thursday', 
       5 => 'Friday', 
       6 => 'Saturday', 
       0 => 'Sunday'); 

и использования функция $dw = date("w", $timestamp); (w вернет 0 в воскресенье, 6 для субботы) в PHP 4

или функция $dw = date("N", $timestamp); (N возвращает 1 или понедельник, 7 воскресенье) в PHP 5 (обратите внимание на массиве дней, чтобы изменить там тоже)

сравните $ dw с массивом элементов и распечатайте то, что вы хотите. Доволен?

+1

Существуют встроенные классы/методы для этого, не прибегая к подобному массиву. Взгляните на другие ответы для лучших методов. PHP 4 не упоминается в OP, поэтому не нужно беспокоиться о поддержке неподдерживаемой версии PHP. – vascowhite

+0

Я писал, пока другие ответы пришли, поэтому я не видел их вовремя. И это было мое решение. Теперь я согласен с некоторыми другими. Благодарю. –

Смежные вопросы