Функция GET_WEEKSTARTEND() │ WordPress 0.71
Функция GET_WEEKSTARTEND() позволяет получить даты начала и конца недели на основе строки даты или времени из MySQL.
Производительность
- 1 вызов — 0.000049 сек (очень быстро)
- 50000 вызовов — 0.33 сек (очень быстро)
- Поддерживаемая версия PHP: 7.1.2RC1, WordPress 4.7.3
Возвращаемое значение
Функция возвращает массив с датами начала и конца недели в виде временных меток Unix.
Использование функции
get_weekstartend( $mysqlstring, $start_of_week );
Параметры
- $mysqlstring (строка) (обязательный): Дата или поле времени из MySQL.
- $start_of_week (целое число или строка): День начала недели в виде целого числа.
- По умолчанию: пустая строка.
Примеры
Пример 1: Получение времени начала и конца недели
Давайте передадим в функцию дату 3 марта 2017, которая начинается с 27 февраля и заканчивается 5 марта:
$arr = get_weekstartend( '2017-03-03' );
В результате переменная $arr будет содержать следующий массив:
Array(
[start] => 1488153600, // 2017-02-27 00:00:00 - Понедельник
[end] => 1488758399 // 2017-03-05 23:59:59 - Воскресенье
)
Изменения
Функция была введена в версии 0.71.
Код функции GET_WEEKSTARTEND()
function get_weekstartend( $mysqlstring, $start_of_week = '' ) {
// Год из строки MySQL.
$my = substr( $mysqlstring, 0, 4 );
// Месяц из строки MySQL.
$mm = substr( $mysqlstring, 5, 2 );
// День из строки MySQL.
$md = substr( $mysqlstring, 8, 2 );
// Временная метка для дня.
$day = mktime( 0, 0, 0, $md, $mm, $my );
// Получаем день недели по временной метке.
$weekday = gmdate( 'w', $day );
if ( ! is_numeric( $start_of_week ) ) {
$start_of_week = get_option( 'start_of_week' );
}
if ( $weekday < $start_of_week ) {
$weekday += 7;
}
// Самый близкий день начала недели к $day.
$start = $day - DAY_IN_SECONDS * ( $weekday - $start_of_week );
// Конец недели: $start + 1 неделя - 1 секунда.
$end = $start + WEEK_IN_SECONDS - 1;
return compact( 'start', 'end' );
}
Связанные функции
Подобные функции для работы с датами и временем в WordPress:
comment_date()comment_time()current_time()date_i18n()get_comment_date()get_comment_time()get_date_from_gmt()get_gmt_from_date()get_lastpostdate()get_lastpostmodified()get_post_time()get_post_timestamp()get_the_date()get_the_modified_date()get_the_modified_time()get_the_time()mysql2date()the_date()the_time()wp_checkdate()wp_date()wp_maybe_decline_date()wp_timezone()wp_timezone_choice()wp_timezone_string()
Эта информация поможет вам лучше понимать, как использовать функцию GET_WEEKSTARTEND() и работать с датами в WordPress.