Php посчитать количество дней между датами

Содержание
  1. Упражнения с датами PHP
  2. 2. Подсчитайте количество дней между текущим днем ​​и днем ​​рождения
  3. 3. Вывод текущей даты в указанном формате
  4. 4. Вычислите разницу между двумя датами (в годах, месяцах, днях)
  5. 5. Преобразуйте дату из гггг-мм-дд в дд-мм-гггг
  6. 6. Преобразуйте дату в метку времени
  7. 7. Вычислите количество дней между двумя датами
  8. 8. Получите первый и последний дни месяца с указанной даты
  9. 9. Выведите в браузере день недели и число
  10. 10. Проверьте, действительны ли указанные даты
  11. 11. Получите разницу во времени в днях и годах, месяцах, днях, часах, минутах, секундах между двумя датами
  12. 12. Измените номер месяца на название месяца
  13. 13. Получите вчерашнюю дату
  14. 14. Получите текущую дату/время «Europe/Moscow»
  15. 15. Проверьте, является ли день выходным или нет
  16. 16. Добавить/вычесть количество дней с определенной даты
  17. 17. Дата начала и окончания недели (по номеру недели) определенного года.
  18. 18. Вычисление текущего возраста человека
  19. 19. Вычисление количества недель между двумя датами
  20. 20. Получите номер месяца перед текущим месяцем
  21. 21. Преобразуйте секунды в дни, часы, минуты и секунды
  22. 22. Получите предыдущие 6 месяцев текущего месяца
  23. 23. Получите текущий месяц и предыдущие три месяца
  24. 24. Увеличьте дату на один месяц
  25. 25. Выведите текущий месяц на русском языке
  26. 26. Выведите текущую дату на русском языке
  27. 27. Преобразуйте число в название месяца
  28. 28. Получите количество дней в текущем месяце
  29. 29. Отобразите время в указанном часовом поясе
  30. Комментарии
  31. Операции с датами и временем Unixtime в PHP
  32. Получение временных меток и дат
  33. Число дня недели
  34. Числа месяца
  35. Текущий месяц:
  36. Преведущий месяц:
  37. Следующий месяц:
  38. Число дней в текущем месяце
  39. Порядковый номер недели
  40. Число дней в текущем году
  41. Текущий квартал
  42. Арифметические операции
  43. Прибавить к дате 10 секунд
  44. Прибавить к дате 10 минут
  45. Прибавить к дате 1 час
  46. Прибавить к дате 1 день
  47. Прибавить к дате неделю
  48. Прибавить к дате месяц
  49. Прибавить к дате год
  50. Сколько прошло
  51. Сколько прошло c 8:00
  52. Сколько прошло c понедельника этой недели
  53. Сколько прошло c начала года
  54. Сколько прошло c определённой даты
  55. Сколько остается
  56. Сколько остается до 23:00
  57. Сколько остается до конца недели
  58. Сколько остается до конца месяца
  59. Сколько остается до конца года
  60. Сколько остается до определенной даты
  61. Время между датами
  62. Количество часов между датами
  63. Количество дней между датами
  64. Количество месяцев между датами
  65. Комментарии 2
  66. Другие публикации
Читайте также:  My Website

Упражнения с датами PHP

Напишите сценарий PHP, который будет отображать информацию об авторских правах и текущий год. Чтобы получить текущий год, вы можете использовать функцию date().

2. Подсчитайте количество дней между текущим днем ​​и днем ​​рождения

Создайте простой скрипт обратного отсчета дня рождения, скрипт будет считать количество дней между текущим днем ​​и днем ​​рождения.

3. Вывод текущей даты в указанном формате

Напишите сценарий PHP для печати текущей даты в указанном формате. Чтобы получить информацию о текущей дате, вы можете использовать функцию date().

Пример формата: (предположим, что текущая дата — 1 апреля 2021 г.)

4. Вычислите разницу между двумя датами (в годах, месяцах, днях)

Напишите сценарий PHP для вычисления разницы между двумя датами.

Примеры дат: 4 ноября 1980 г., 4 сентября 2021 г.

5. Преобразуйте дату из гггг-мм-дд в дд-мм-гггг

Напишите сценарий PHP для преобразования даты в метку времени.

Начальная дата: 2021-09-12
Ожидаемый результат: 12-09-2021

6. Преобразуйте дату в метку времени

Напишите сценарий PHP для преобразования даты из гггг-мм-дд в дд-мм-гггг.

Начальная дата: 12-05-2021
Ожидаемый результат: 1620766800

7. Вычислите количество дней между двумя датами

Напишите сценарий PHP для расчета количества дней между двумя датами.

8. Получите первый и последний дни месяца с указанной даты

Напишите сценарий PHP, чтобы получить первый и последний день месяца с указанной даты.

9. Выведите в браузере день недели и число

Напишите сценарий PHP, который напечатает день недели и число.

10. Проверьте, действительны ли указанные даты

Напишите сценарий PHP, чтобы проверить, действительны ли указанные даты.

11. Получите разницу во времени в днях и годах, месяцах, днях, часах, минутах, секундах между двумя датами

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

Примечание: Используйте класс DateTime.

12. Измените номер месяца на название месяца

Напишите сценарий PHP для изменения номера месяца на название месяца.

13. Получите вчерашнюю дату

Напишите сценарий PHP, чтобы получить вчерашнюю дату.

14. Получите текущую дату/время «Europe/Moscow»

Напишите сценарий PHP, чтобы получить текущую дату/время «Europe/Moscow».

15. Проверьте, является ли день выходным или нет

Напишите сценарий PHP, чтобы проверить, является ли свидание выходным или нет.

16. Добавить/вычесть количество дней с определенной даты

Напишите сценарий PHP для добавления / вычитания количества дней с определенной даты.

17. Дата начала и окончания недели (по номеру недели) определенного года.

Напишите функцию PHP для получения даты начала и окончания недели (по номеру недели) определенного года.

18. Вычисление текущего возраста человека

Напишите сценарий PHP для расчета текущего возраста человека.

19. Вычисление количества недель между двумя датами

Напишите сценарий PHP для расчета количества недель между двумя датами.

20. Получите номер месяца перед текущим месяцем

Напишите сценарий PHP, чтобы получить номер месяца перед текущим месяцем.

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

Напишите сценарий PHP для преобразования секунд в дни, часы, минуты и секунды.

22. Получите предыдущие 6 месяцев текущего месяца

Напишите сценарий PHP, чтобы получить предыдущие 6 месяцев текущего месяца.

23. Получите текущий месяц и предыдущие три месяца

Напишите сценарий PHP, чтобы получить текущий месяц и предыдущие три месяца.

24. Увеличьте дату на один месяц

Напишите сценарий PHP для увеличения даты на один месяц.

25. Выведите текущий месяц на русском языке

Напишите сценарий PHP, чтобы вывести текущий месяц на русском языке.

26. Выведите текущую дату на русском языке

Напишите сценарий PHP, чтобы вывести текущую дату на русском языке.

27. Преобразуйте число в название месяца

Напишите сценарий PHP для преобразования числа в название месяца.

28. Получите количество дней в текущем месяце

Напишите сценарий PHP, чтобы получить количество дней в текущем месяце.

29. Отобразите время в указанном часовом поясе

Напишите сценарий PHP для отображения времени в указанном часовом поясе.

Комментарии

  • Приветствуются комментарии, соответствующие теме урока: вопросы, ответы, предложения.
  • Одну строчку кода оборачивайте в тег , несколько строчек кода — в теги
    . ваш код.

    .

  • Допускаются ссылки на онлайн-песочницы (codepen, plnkr, JSBin и др.).

Источник

Операции с датами и временем 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); // 17.07.2023 00:00 // Понедельник предыдущий недели: $time = strtotime('previous week monday, 00:00'); echo date('d.m.Y H:i', $time); // 10.07.2023 00:00 // Понедельник следующей недели: $time = strtotime('next monday, 00:00'); echo date('d.m.Y H:i', $time); // 24.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 секунд

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

$time = time() + 10; echo date('d.m.Y H:i:s', $time); // 23.07.2023 20:16:40 /* или */ $time = strtotime('+10 seconds', time()); echo date('d.m.Y H:i:s', $time); // 23.07.2023 20:16:40

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

$time = time() + 600; echo date('d.m.Y H:i:s', $time); // 23.07.2023 20:26:30 /* или */ $time = strtotime('+10 minutes', time()); echo date('d.m.Y H:i:s', $time); // 23.07.2023 20:26:30

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

$time = time() + 3600; echo date('d.m.Y H:i:s', $time); // 23.07.2023 21:16:30 /* или */ $time = strtotime('+1 hours', time()); echo date('d.m.Y H:i:s', $time); // 23.07.2023 21:16:30

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

$time = time() + 86400; echo date('d.m.Y H:i:s', $time); // 24.07.2023 20:16:30 /* или */ $time = strtotime('+1 days', time()); echo date('d.m.Y H:i:s', $time); // 24.07.2023 20:16:30

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

$time = strtotime('+1 week', time()); echo date('d.m.Y H:i:s', $time); // 30.07.2023 20:16:30

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

$time = strtotime('+1 month', time()); echo date('d.m.Y H:i:s', $time); // 23.08.2023 20:16:30

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

$time = strtotime('+1 year', time()); echo date('d.m.Y H:i:s', $time); // 23.07.2024 20:16:30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

$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-страниц и облегчить работу поисковым роботам.

Источник

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