Created
March 18, 2017 13:45
-
-
Save dastanaron/8ba975ac930cbcd4d99d6c22ef73c79c to your computer and use it in GitHub Desktop.
Класс для вывода русских названий недели и месяцев. Не является расширением DateTime, но использует его
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
<?php | |
/* | |
* Методы класса | |
* __construct($date) - должен получить строку с датой, или пустой, просто | |
* DateToTimestamp() - переводит полученную в конструктор дату в timestamp unix | |
* dateToBlog() - возвращает строку типа Суббота, 18 Март 2017 | |
* RusDayofWeak() - возвращает русское название дня недели | |
* RusNameofMonth() - возвращает русское название месяца | |
*/ | |
namespace Blogger\BlogBundle\Entity; | |
class DateEntity { | |
protected $date; | |
protected $timestamp; | |
function __construct($date = '') { | |
if (empty($date)) { | |
$this->date = date('Y-m-d'); | |
$this->timestamp = time(); | |
} | |
else { | |
$this->date = $date; | |
$this->timestamp = $this->DateToTimestamp($this->date); | |
} | |
} | |
private function DateToTimestamp() { | |
$newdate = new \DateTime($this->date); | |
$timestamp = $newdate->getTimestamp(); | |
return $timestamp; | |
} | |
public function dateToBlog() { | |
$string = $this->RusDayofWeak(); | |
$string .= ', ' . date('d', $this->timestamp) . ' ' . $this->RusNameofMonth() . ' ' . date('Y', $this->timestamp); | |
return $string; | |
} | |
private function RusDayofWeak() { | |
$val = (int)date('w',$this->timestamp); | |
switch ($val) { | |
case 0: | |
return 'Воскресенье'; | |
break; | |
case 1: | |
return 'Понедельник'; | |
break; | |
case 2: | |
return 'Вторник'; | |
break; | |
case 3: | |
return 'Среда'; | |
break; | |
case 4: | |
return 'Четверг'; | |
break; | |
case 5: | |
return 'Пятница'; | |
break; | |
case 6: | |
return 'Суббота'; | |
break; | |
default: | |
return false; | |
break; | |
} | |
} | |
private function RusNameofMonth(){ | |
$val = date('n', $this->timestamp); | |
switch ($val) { | |
case 1: | |
return "Январь"; | |
break; | |
case 2: | |
return "Февраль"; | |
break; | |
case 3: | |
return "Март"; | |
break; | |
case 4: | |
return "Апрель"; | |
break; | |
case 5: | |
return "Май"; | |
break; | |
case 6: | |
return "Июнь"; | |
break; | |
case 7: | |
return "Июль"; | |
break; | |
case 8: | |
return "Август"; | |
break; | |
case 9: | |
return "Сентябрь"; | |
break; | |
case 10: | |
return "Октябрь"; | |
break; | |
case 11: | |
return "Ноябрь"; | |
break; | |
case 12: | |
return "Декабрь"; | |
break; | |
default: | |
return false; | |
break; | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment