Skip to content

Instantly share code, notes, and snippets.

@Sentinel17
Last active April 18, 2024 13:25
Show Gist options
  • Save Sentinel17/ab5dd2b6ae12c8fc625128898ab599e2 to your computer and use it in GitHub Desktop.
Save Sentinel17/ab5dd2b6ae12c8fc625128898ab599e2 to your computer and use it in GitHub Desktop.
Домашнее задание №8
<!-- ДОМАШНЕЕ ЗАДАНИЕ
#необходимо написать класс по работе с датами со следующими методами
#-найти разницу дат, вернуть разницу в формате timestamp
#-формат timestamp преобразовать в количество дней (целое число)
#-вернуть нужный формат даты (формат задается свойством объекта) на входе дата в формате timestamp
#-вернуть словом день недели от заданной даты
#-вернуть словом месяц от заданной даты
#-определить является ли заданный год высокосным (вернуть true/false)
#-преобразовать любой заданный вариант даты в нужный формат, который задан в свойстве класса -->
<?php
class WorkWithDates
{
public $dateFormat = 'd-m-Y H:m:s';
public function diffDate($date1, $date2)
{
return abs(strtotime($date1) - strtotime($date2));
}
public function transformDate($date)
{
return floor($date / (60 * 60 * 24));
}
public function returnFormatDate($date)
{
return date($this->dateFormat, $date);
}
public function dayOfWeek($date)
{
$week = [1=>'Понедельник', 'Вторник', 'Среда', 'Четверг',
'Пятница', 'Суббота', 'Воскресенье'];
return $week[date('N', strtotime($date))];
}
public function month($date)
{
$month = [1 => 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
return $month[date('n', strtotime($date))];
}
public function leapYear($date)
{
return date('L', strtotime($date));
}
public function convertDate($date)
{
return date($this->dateFormat, strtotime($date));
}
}
$workWithDates = new WorkWithDates();
echo $workWithDates->diffDate('17-01-2018', '18-03-2018').'<br/>';
echo $workWithDates->transformDate(5184000).' days'.'<br/>';
echo $workWithDates->returnFormatDate(5184000).'<br/>';
echo $workWithDates->dayOfWeek('2018-02-16').'<br>';
echo $workWithDates->month('2018-02-16').'<br>';
echo $workWithDates->leapYear('2020-02-16').'<br>';
echo $workWithDates->convertDate('2021-02-16').'<br/>';
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment