Datetime this week php

Содержание
  1. strtotime
  2. Проверить работу функции strtotime:
  3. Операции с датами и временем Unixtime в PHP
  4. Получение временных меток и дат
  5. Число дня недели
  6. Числа месяца
  7. Текущий месяц:
  8. Преведущий месяц:
  9. Следующий месяц:
  10. Число дней в текущем месяце
  11. Порядковый номер недели
  12. Число дней в текущем году
  13. Текущий квартал
  14. Арифметические операции
  15. Прибавить к дате 10 секунд
  16. Прибавить к дате 10 минут
  17. Прибавить к дате 1 час
  18. Прибавить к дате 1 день
  19. Прибавить к дате неделю
  20. Прибавить к дате месяц
  21. Прибавить к дате год
  22. Сколько прошло
  23. Сколько прошло c 8:00
  24. Сколько прошло c понедельника этой недели
  25. Сколько прошло c начала года
  26. Сколько прошло c определённой даты
  27. Сколько остается
  28. Сколько остается до 23:00
  29. Сколько остается до конца недели
  30. Сколько остается до конца месяца
  31. Сколько остается до конца года
  32. Сколько остается до определенной даты
  33. Время между датами
  34. Количество часов между датами
  35. Количество дней между датами
  36. Количество месяцев между датами
  37. Комментарии 2
  38. Другие публикации

strtotime

Первым параметром функции должна быть строка с датой на английском языке, которая будет преобразована в метку времени относительно метки времени, переданной в now, или текущего времени, если аргумент now опущен. В случае ошибки возвращается -1.

Функция strtotime() использует GNU формат даты Date Input Formats, где описывается синтаксис аргумента time.

Проверить работу функции strtotime:

Функция strtotime() может распознавать следующие слова и сокращения.

  • Название месяцев: 12 месяцев и соответствующие сокращения: Январь — January, Февраль — February, Март — March, Апрель — April, Май — May, Июнь — June, Июль — July, Август — August, Сентябрь — September, Октябрь — October, Ноябрь — November, Декабрь — December.
  • Название дней недели: 7 дней и соответствующие сокращения:Понедельник — Monday, Вторник — Tuesday, Среда — Wednesday, Четверг — Thursday, Пятница — Friday, Суббота — Saturday, Воскресенье — Sunday.
  • Название единиц времени: year (год), month (месяц), fortnight (две недели), week (неделя), day (день), hour (час), minute (минута), second (секунда), am (до полудня), рт (после полудня).
  • Некоторые английские слова: ago (тому назад), now (сейчас), last (длиться), next (следующий); this (этот), tomorrow (завтра), yesterday (вчера).
  • Знаки «плюс» и «минус».
  • Все числа.
  • Временные зоны: например, gmt (Greenwich Mean Time — среднее время по Гринвичу) или pdt (Pacific Daylight Time — дневное тихоокеанское время).
Пример 1. Пример использования функции strtotime()
echo strtotime("now"); echo strtotime("22.01.1971 10:11:36"); echo strtotime("10 September 2000"); echo strtotime("+1 day"); echo strtotime("+1 week"); echo strtotime("+1 week 2 days 4 hours 2 seconds"); echo strtotime("next Thursday"); echo strtotime("last Monday"); echo strtotime('Monday this week'); echo strtotime('first day'); echo strtotime('last day next month'); echo strtotime('last day last month'); echo strtotime('2009-12 last day'); // это не сработает, если в обратном порядке год и месяц echo strtotime('2009-03 last day'); echo strtotime('2009-03'); echo strtotime('last day of march 2009'); echo strtotime('last day of march'); echo strtotime('yesterday 14:00'); echo date("d.m.Y",strtotime("first day of previous month")); // первый день прошлого месяца echo date("d.m.Y",strtotime("last day of previous month")); // последний день прошлого месяца echo date("d.m.Y",strtotime("first day of this month")); // первый день текущего месяца echo date("d.m.Y",strtotime("first day of next month")); // первый день следующего месяца echo date('Y-m-d h:i:s',strtotime("-18 hours")); echo strtotime("tomorrow"); # 24 часа от сегодня echo strtotime("now + 24 hours"); echo strtotime("last Saturday"); echo strtotime("8pm + 3 days"); echo strtotime("2 weeks ago"); # две недели назад echo strtotime("next year gmt"); # на один год вперед echo strtotime ("tomorrow 4am"), echo strtotime( date("Y-01-01") ); // начало года echo strtotime( "next day 00:00" ); // начало следующего дня
Пример 2. Проверка ошибок
$str = 'Not Good'; if (($timestamp = strtotime($str)) === -1) < echo "Строка ($str) недопустима"; >else

Замечание: Для большинства систем допустимыми являются даты с 13 декабря 1901, 20:45:54 GMT по 19 января 2038, 03:14:07 GMT. (Эти даты соответствуют минимальному и максимальному значению 32-битового целого со знаком). Для Windows допустимы даты с 01-01-1970 по 19-01-2038. Не все платформы поддерживают отрицательные метки времени, поэтому даты ранее 1 января 1970 г. не поддерживаются в Windows, некоторых версиях Linux и некоторых других операционных системах.

Читайте также:  Php encode decode string

Замечание: GMT формат с помощью strtotime преобразуется некорректно:

$strtotime = strtotime("Tue, 21 May 2013 09:10:30 GMT"); echo date("Y-m-d H:i:s", $strtotime),PHP_EOL; $strtotime = DateTime::createFromFormat("D, d M Y g:i:s O", "Tue, 21 May 2013 09:10:30 GMT"); echo $strtotime->format("Y-m-d H:i:s");

Источник

Операции с датами и временем Unixtime в PHP

Unix-время (англ. Unix time, также POSIX-время) — система описания моментов во времени. Определяется как количество секунд, прошедших с полуночи 1 января 1970 года.

В PHP текущую метку времени возвращает функция time() и функция strtotime(), также с unix-метками работает класс DateTime.

Получение временных меток и дат

Число дня недели

// Понедельник текущей недели: $time = strtotime('this week monday, 00:00'); echo date('d.m.Y H:i', $time); // 24.07.2023 00:00 // Понедельник предыдущий недели: $time = strtotime('previous week monday, 00:00'); echo date('d.m.Y H:i', $time); // 17.07.2023 00:00 // Понедельник следующей недели: $time = strtotime('next monday, 00:00'); echo date('d.m.Y H:i', $time); // 31.07.2023 00:00

Числа месяца

Текущий месяц:

// Первый день текущего месяца: $time = strtotime('first day of this month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.07.2023 00:00:00 // Последний день текущего месяца: $time = strtotime('last day of this month 23:59'); echo date('d.m.Y H:i:s', $time); // 31.07.2023 23:59:00

Преведущий месяц:

// Первый день предыдущего месяца: $time = strtotime('first day of previous month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.06.2023 00:00:00 // Последний день предыдущего месяца: $time = strtotime('last day of previous month 23:59'); echo date('d.m.Y H:i:s', $time); // 30.06.2023 23:59:00

Следующий месяц:

// Первый день следующего месяца: $time = strtotime('first day of next month 00:00'); echo date('d.m.Y H:i:s', $time); // 01.08.2023 00:00:00 // Последний день следующего месяца: $time = strtotime('last day of next month 23:59'); echo date('d.m.Y H:i:s', $time); // 31.08.2023 23:59:00

Число дней в текущем месяце

Порядковый номер недели

Число дней в текущем году

echo date('L') ? 366 : 365; // 365

Текущий квартал

echo intval((date('n') + 2) / 3); // 3

Арифметические операции

Для сложения и вычитания времени можно применить функцию strtotime() или просто работать с секундами:

1 минута 60 секунд 10 минут 600 секунд
1 час 3600 секунд 10 часов 36000 секунд
1 день 86400 секунд 2 дня 172800 секунд
1 неделя 604800 секунд 2 недели 1209600 секунд
1 месяц 2629743 секунд 2 месяца 5259486 секунд
1 год 31556926 секунд 2 года 63072000 секунд
Читайте также:  Check if string is float in python

Прибавить к дате 10 секунд

$time = time() + 10; echo date('d.m.Y H:i:s', $time); // 25.07.2023 02:12:06 /* или */ $time = strtotime('+10 seconds', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 02:12:06

Прибавить к дате 10 минут

$time = time() + 600; echo date('d.m.Y H:i:s', $time); // 25.07.2023 02:21:56 /* или */ $time = strtotime('+10 minutes', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 02:21:56

Прибавить к дате 1 час

$time = time() + 3600; echo date('d.m.Y H:i:s', $time); // 25.07.2023 03:11:56 /* или */ $time = strtotime('+1 hours', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2023 03:11:56

Прибавить к дате 1 день

$time = time() + 86400; echo date('d.m.Y H:i:s', $time); // 26.07.2023 02:11:56 /* или */ $time = strtotime('+1 days', time()); echo date('d.m.Y H:i:s', $time); // 26.07.2023 02:11:56

Прибавить к дате неделю

$time = strtotime('+1 week', time()); echo date('d.m.Y H:i:s', $time); // 01.08.2023 02:11:56

Прибавить к дате месяц

$time = strtotime('+1 month', time()); echo date('d.m.Y H:i:s', $time); // 25.08.2023 02:11:56

Прибавить к дате год

$time = strtotime('+1 year', time()); echo date('d.m.Y H:i:s', $time); // 25.07.2024 02:11:56

Сколько прошло

Сколько прошло c 8:00

$date = date('d.m.Y 08:00'); $diff = time() - strtotime($date); echo round($diff / 3600, 1); // -5,8 часов

Сколько прошло c понедельника этой недели

$time = strtotime('monday'); $diff = time() - $time; echo round($diff / 3600); // 26 часов echo round($diff / 86400, 1); // 1,1 дней

*Дни недели: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

Сколько прошло c начала года

$date = date('01.01.Y 00:00:00'); $diff = time() - strtotime($date); echo intval($diff / 86400); // 205 дней // или echo date('z'); // 205

Сколько прошло c определённой даты

$date = '10.08.2016'; $diff = time() - strtotime($date); echo round($diff / 3600); // 60962 часов echo round($diff / 86400); // 2540 дней

Сколько остается

Сколько остается до 23:00

$time = strtotime(date('d.m.Y 23:00')); $diff = $time - time(); echo round($diff / 3600, 1); // 20,8 часов

Сколько остается до конца недели

$date = strtotime('next sunday, 23:59'); $diff = $date - time(); echo round($diff / 3600); // 142 часов echo round($diff / 86400); // 6 дней

*Дни недели: monday, tuesday, wednesday, thursday, friday, saturday, sunday.

Читайте также:  Java перенос строки кода

Сколько остается до конца месяца

$time = strtotime(date('Y-m-t 23:59')); $diff = $time - time(); echo round($diff / 3600); // 166 часов echo round($diff / 86400); // 7 дней

Сколько остается до конца года

$time = strtotime(date('Y-12-31 23:59')); $diff = $time - time(); echo round($diff / 3600); // 3838 часов echo round($diff / 86400); // 160 дней

Сколько остается до определенной даты

$date = '10.08.2025'; $diff = strtotime($date) - time(); echo round($diff / 3600); // 17926 часов echo round($diff / 86400); // 747 дней

Время между датами

Количество часов между датами

$date_1 = '01.01.2021 10:00'; $date_2 = '10.03.2021 18:00'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 3600); // 1640

Количество дней между датами

$date_1 = '01.01.2021 10:00'; $date_2 = '10.03.2021 18:00'; $seconds = abs(strtotime($date_1) - strtotime($date_2)); echo round($seconds / 86400, 1); // 68,3

Количество месяцев между датами

$date_1 = strtotime('01.01.2021 10:00'); $date_2 = strtotime('10.03.2021 18:00'); $months = 0; while (strtotime('+1 month', $date_1) < $date_2) < $months++; $date_1 = strtotime('+1 month', $date_1); >$days = round(($date_2 - $date_1) / (60 * 60 * 24)); echo $months . ' месяца, ' . $days . ' дней'; // 2 месяца, 9 дней

Комментарии 2

Специально не поленился и авторизовался, чтобы выразить благодарность авторам сайта, молодцы ребята! Неоднократно на вашем сайте получал именно нужную инфу, у вас все примеры разжеваны, с разными вариантами, не то что где нибудь найдешь вроде то, что тебе нужно и потом полдня думаешь, как под свою задачу это допилить. В данном случае мне нужно было кол-во дней между датами, при чем число должно быть дробным — то есть 3.6 дня, например. У вас нашел, скопировал, и вставил (только имена переменных поменял), все. Именно то, что нужно. И так бывало уже не раз. В общем, спасибо, и обязательно продолжайте в том же духе!

Авторизуйтесь, чтобы добавить комментарий.

Другие публикации

Как настроить Last-Modified

Заголовок Last-Modified помогает оптимизировать загрузку web-страниц и облегчить работу поисковым роботам.

Источник

Оцените статью