Задачи по PHP. Работа с датой и временем

Работа с датой и временем в PHP

арифметика

перейти к содержанию задачника

Во всех задачах по умолчанию использовать Carbon или DateTime

  1. Дано количество секунд. Определить, сколько это дней, часов, минут.
  2. Создать carbon-объект для ‘22.10.2017’. Показать на экран в формате ‘d-m-Y’. Увеличить дату на 10 дней. Изменить время на 10 часов 30 мин 15 сек. Показать дату на экран в формате ‘d/m/Y H:i:s’. 
  3. Дано две даты. Вывести ту, которая раньше, в формате ‘день-месяц (год)’
  4. Вывести, сколько дней в текущем месяце.
  5. Дан номер месяца текущего года. Вывести все его даты.
  6. Дана дата. Вывести, сколько дней до нее осталось (или сколько дней прошло). 
  7. Вывести все прошедшие понедельники текущего года.
  8. Дана дата. Сгенерировать расписание с этой даты на 30 дней по такому принципу: сутки через трое. Если рабочий день приходится на воскресенье, то он переносится на понедельник.  В итоге показать даты рабочих дней.  
  9. Помогите репетитору по английскому. Урок длится 45 минут, перерыв между уроками 10 мин. Репетитор говорит время начала работы и время окончания работы (в рамках одного дня). Сгенерируйте расписание уроков. Например, 10:00 - начало, 18:00 - окончание. Расписание: 10:00 - 10:45, 10:55 - 11:40 и т.д. Если урок обрывается временем окончания работы, то не добавлять его в расписание.
  10. Дан режим работы интернет-магазина. ПН 9:00 – 21:00 ВТ 9:00 – 21:00 СР 9:00 – 21:00 ЧТ 9:00 – 21:00 ПТ 9:00 – 21:00 СБ 10:00 – 18:00 ВС 10:00 – 18:00. И даны дата и время. Определить, работает ли в это время магазин и сколько минут до конца рабочей смены.
  11. Дан массив периодов дат (временные затраты сотрудника на выполнение задач менеджера). Например, $dates = [[‘start’=>’02.10.2017 10:12:11’, ‘end’=>’02.10.2017 15:20:11], [‘start’=>’03.10.2017 13:12:11’, ‘end’=>’03.10.2017 16:40:40]]; То есть это многомерный массив, каждый элемент - массив с двумя датами в формате ‘d.m.Y H:i:s’. Найти, сколько всего часов потрачено сотрудником (в формате N час K мин).
  12. Дан массив дат бронирования номера в отеле. Элемент массива или одна дата, или период - две даты через дефис. Пример: $dates = ['12.09.2017', '14.09.2017-02.10.2017']; Выяснить можно ли добавить в массив данную дату или период для нового бронирования. Например, для указанного выше примера период '01.10.2017-05.10.2017' добавлять нельзя, так как первые два дня уже забронированы.

перейти к содержанию задачника

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *