Skip to content

Instantly share code, notes, and snippets.

@dastanaron
Created March 18, 2017 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dastanaron/8ba975ac930cbcd4d99d6c22ef73c79c to your computer and use it in GitHub Desktop.
Save dastanaron/8ba975ac930cbcd4d99d6c22ef73c79c to your computer and use it in GitHub Desktop.
Класс для вывода русских названий недели и месяцев. Не является расширением DateTime, но использует его
<?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