Last active
April 18, 2024 13:25
-
-
Save Sentinel17/ab5dd2b6ae12c8fc625128898ab599e2 to your computer and use it in GitHub Desktop.
Домашнее задание №8
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- ДОМАШНЕЕ ЗАДАНИЕ | |
#необходимо написать класс по работе с датами со следующими методами | |
#-найти разницу дат, вернуть разницу в формате 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