Как получить TIMESTAMP дня текущей недели (PHP)

Для получение timestamp дня текущей недели, понадобится функция strtotime.

Функция getDayWeekTimestamp

Функция getDayWeekTimestamp(int $day): int, на входе принимает параметр int $day - номер дня недели, функция возвращает timestamp этого дня в текущей неделе.

<?php /** * Получить timestamp дня (понедельник, вторник, среда, и т.д.) текущей недели * @param int $day номер дня недели недели: * 1: понедельник * 2: вторник * 3: среда * 4: четверг * 5: пятница * 6: суббота * 0, 7: воскресенье * * @return int */ function getDayWeekTimestamp(int $day): int { switch ($day) { case 1: return strtotime("monday this week"); break; case 2: return strtotime("tuesday this week"); break; case 3: return strtotime("wednesday this week"); break; case 4: return strtotime("thursday this week"); break; case 5: return strtotime("friday this week"); break; case 6: return strtotime("saturday this week"); break; case 0: case 7: default: return strtotime("sunday this week"); break; } }

Пример

Примечание: На момент вызова функция, текущее время было: 2019-04-30 14:15:02.

<?php function echoDayWeek(int $day): void { // Получаем таймштамп $result = getDayWeekTimestamp($day); // Дата и время полученного таймштампа $dt = date('Y-m-d H:i:s', $result); // Выводим на экран echo "{$day}: {$result} / {$dt}\n"; } echo "Текущее время: " . date('Y-m-d H:i:s') . "\n"; echoDayWeek(1); echoDayWeek(2); echoDayWeek(3); echoDayWeek(4); echoDayWeek(5); echoDayWeek(6); echoDayWeek(8);

Результат

Текущее время: 2019-04-30 14:15:02 1: 1556485200 / 2019-04-29 00:00:00 2: 1556571600 / 2019-04-30 00:00:00 3: 1556658000 / 2019-05-01 00:00:00 4: 1556744400 / 2019-05-02 00:00:00 5: 1556830800 / 2019-05-03 00:00:00 6: 1556917200 / 2019-05-04 00:00:00 7: 1557003600 / 2019-05-05 00:00:00

Категории

ПрограммированиеPHPДата и время в PHPДата и время

Читайте также

Комментарии