diff options
Diffstat (limited to 'app/Libraries/Zeitumstellung.php')
| -rw-r--r-- | app/Libraries/Zeitumstellung.php | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/app/Libraries/Zeitumstellung.php b/app/Libraries/Zeitumstellung.php deleted file mode 100644 index 10bc4cb..0000000 --- a/app/Libraries/Zeitumstellung.php +++ /dev/null @@ -1,122 +0,0 @@ -<?php -namespace App\Libraries; -use App\Libraries\Zeitumstellung; - -use Carbon\Carbon; - -class Zeitumstellung { - - // Sommerzeit | Winterzeit - public $season; - // full date of the next time change - public $date; - public $dateText; - // number of days since last time change - public $daysago; - // number of days until next time change. if zero, time change is today! - public $daysuntil; - - public $description; - public $descriptionHTML; - - public $day; - public $month; - public $monthText; - public $year; - - public $now; - - private $tc_march; - private $tc_oct; - - function __construct($setNow = null) { - # debug - #Carbon::setTestNow( Carbon::create(2018, 10, 28, 2) ); - #Carbon::setTestNow( Carbon::create(2020, 03, 30, 5) ); - - if ( is_null($setNow) ) { - $this->now = Carbon::now()->startOfDay(); - } else { - $this->now = $setNow; - } - - $this->year = $this->now->year; - - # detect if next time change is next year - if ( $this->now->gt( Carbon::parse('last sunday of october')->startOfDay() ) ){ - $this->year = $this->year+1; - } - - $this->tc_march = Carbon::parse('last sunday of march ' . $this->year )->startOfDay(); - $this->tc_oct = Carbon::parse('last sunday of october ' . $this->year)->startOfDay(); - - if ( $this->now->lte($this->tc_march) ){ - # next time change is in march this year, (last sunday in march) - - $this->season = "Sommerzeit"; - - $this->date = $this->tc_march; - $this->description = 'Die Uhr wird von 2 Uhr auf 3 Uhr vorgestellt, sodass wir 1 Stunde weniger schlafen.'; - $this->descriptionHTML = 'Die Uhr wird von <b>2 Uhr auf 3 Uhr vorgestellt</b>, sodass wir <b>1 Stunde weniger</b> schlafen.'; - - # detect if last time change was last year - if ( $this->now->lt( Carbon::parse('last sunday of march ') ) ) { - #$this->year = $this->now->year - 1; - $year = $this->now->year - 1; - $this->daysago = Carbon::parse('last sunday of october' . $year)->diffInDays( $this->now ); - } else { - $this->daysago = $this->tc_oct->diffInDays( $this->now ); - } - - } else { - # next time change is in october this year, (last sunday in october) - - $this->season = "Winterzeit"; - - $this->date = $this->tc_oct; - $this->description = 'Die Uhr wird von 3 Uhr auf 2 Uhr zurückgestellt, sodass wir 1 Stunde länger schlafen.'; - $this->descriptionHTML = 'Die Uhr wird von <b>3 Uhr auf 2 Uhr zurückgestellt</b>, sodass wir <b>1 Stunde länger</b> schlafen.'; - - $this->daysago = $this->tc_march->diffInDays( $this->now ); - } - - $this->dateText = $this->date->toDateString(); - - $this->daysuntil = $this->date->diffInDays($this->now); - - $this->day = $this->date->day; - $this->month = $this->date->month; - $this->year = $this->date->year; - - if ( 3 == $this->month ) { - $this->monthText = "März"; - } else { - $this->monthText = "Oktober"; - } - } - - /** - * Returns an instance of the object with the next time change after the current one. - */ - function next(){ - return new Zeitumstellung( $this->date->add(1, 'day') ); - } - - public function getData(){ - $result = array(); - - $result["date"] = $this->date->toDateString(); - $result["day"] = $this->date->day; - $result["month"] = $this->date->month; - $result["monthText"] = $this->monthText; - $result["year"] = $this->date->year; - $result["daysuntil"] = $this->daysuntil; - $result["daysago"] = $this->daysago; - $result["now"] = $this->now->toDateString(); - - return $result; - } - public function getJSON(){ - return json_encode( $this->getData() ); - } -} |
