Определение дня недели, месяца, года или номера недели в году при помощи языка программирования PHP.
Решение
Надо передать соответствующие аргументы функции 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(). Ниже в таблице, приведены все символы форматирования номеров дня и недели, поддерживаемые функциями date(). и strftime().
Символы форматирования номеров дня и недели
Тип
strftime()
date()
Описание
Диапазон
День
%d
d
День месяца, численное значение
01–31
День
%j
z
День года, численное значение
001–366 для strftime(); 0–365 для date()
День
%u
День недели, численное значение (Понедельнику соответствует 1)
1–7
День
%w
w
День недели, численное значение (Воскресенью соответствует 0)
0–6
День
%W
ISO 8601 день недели, численное значение (Первый день недели –понедельник)
0–6
Неделя
%U
Номер недели в году; численное значение; первое воскресенье – это первый день первой недели
00–53
Неделя
%V
W
ISO 8601:1988 номер недели в году; численное значение; неделя 1 – это первая неделя, которая имеет как минимум четыре дня в текущем году; понедельник – это первый день недели
01–53
Например, можно вывести на печать что-нибудь только в понедельник, задав символ форматирования 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.
Комментарии:
Комментариев нет
|
|
|