public static function getDateAsText(Timestamp $date, $todayWordNeed = true) { $dayStart = Timestamp::makeToday(); $tomorrowDayStart = $dayStart->spawn('+1 day'); if (Timestamp::compare($date, $dayStart) == 1 && Timestamp::compare($date, $tomorrowDayStart) == -1) { return ($todayWordNeed === true ? 'сегодня ' : null) . 'в ' . date('G:i', $date->toStamp()); } $yesterdayStart = $dayStart->spawn('-1 day'); if (Timestamp::compare($date, $yesterdayStart) == 1 && Timestamp::compare($date, $dayStart) == -1) { return 'вчера в ' . date('G:i', $date->toStamp()); } return date('j.m.Y в G:i', $date->toStamp()); }
/** * @return DateRange **/ public function safeSetEnd($end) { if (!$this->getStart() || Timestamp::compare($end, $this->getStart()) > 0) { $this->setEnd($end); } elseif ($this->getStart()) { $this->setEnd($this->getStart()); } return $this; }