Определение дня недели, месяца, года или номера недели в году

Задача
Необходимо узнать день или неделю года, день недели или день месяца. Например, требуется выводить на печать специальное сообщение каждый понедельник или в первый понедельник каждого месяца.

Решение
Надо передать соответствующие аргументы функции date() или strftime():

print strftime("Today is day %d of the month and %j of the year.");
print 'Today is day '.date('d').' of the month and '.date('z').' of the year.';


Обсуждение
Эти две функции, date() и strftime(), ведут себя по-разному. Отсчет дней года начинается с 0 в функции date(), но с 1 в функции strftime(). Например, можно вывести на печать что-нибудь только в понедельник, задав символ форматирования w в функции date() или строку %w в функции strftime():

if (1 == date('w')) {
print "Welcome to the beginning of your work week.";
}
if (1 == strftime('%w')) {
print "Only 4 more days until the weekend!";
}


Существуют различные способы определения номеров недель или номеров дней в неделе, поэтому будьте внимательнее при выборе соответствующего способа. Стандарт ISO (ISO 8601) устанавливает, что недели начинаются в понедельник, а дни недели нумеруются от 1 (понедельник) до 7 (воскресенье). Неделя 1 – это первая неделя года, включающая четверг этого года. Это значит, что первая неделя в году – это неделя, в которой большинство дней принадлежат этому году. Номера недель лежат в диапазоне от 01 до 53. Другой стандарт устанавливает диапазон номеров недель от 00 до 53, при этом дни 53-й недели года могут пересечься с днями 00-й недели следующего года. До тех пор пока вы находитесь в рамках своей программы, можно не беспокоиться о каких-либо проблемах, но будьте осторожны при взаимодействии с другими PHP-программами или базами данных. На- пример, MySQL-функция DAYOFWEEK() считает воскресенье первым днем недели, но нумерует дни с 1 до 7, что является стандартом ODBC. Однако функция WEEKDAY() первым днем недели считает понедельник, а дни нумерует от 0 до 6. Функция WEEK() позволяет выбрать первый день недели между воскресеньем и понедельником, но она не совместима со стандартом ISO.
Теги:
недели, функции, понедельник, strftime, print, месяца, недель, номеров, неделя, воскресенье, устанавливает, будьте, функция, month, Today, можно, считает, Например, нумерует, стандартом, печать, диапазоне, Функция, позволяет, лежат, Номера, выбрать, между, этому, диапазон, принадлежат, большинство, воскресеньем, значит, этого
Добавлено: 20 Июля 2018 21:43:43 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...