Skip to content

Instantly share code, notes, and snippets.

@gbirke
Last active December 15, 2015 17:59
Show Gist options
  • Save gbirke/5300937 to your computer and use it in GitHub Desktop.
Save gbirke/5300937 to your computer and use it in GitHub Desktop.
Termine zur Zeitzonenumstellung -Dieses Skript berechnet die Daten der Zeitumstellung von MEZ und EDT und die jeweilige Zeitdifferenz
{
"require": {
"eluceo/ical": "*@dev"
}
}
Termine zur Zeitzonenumstellung -Dieses Skript berechnet die Daten der Zeitumstellung von MEZ und EDT und die jeweilige Zeitdifferenz
<?php
// Dieses Skript berechnet die Daten der Zeitumstellung von MEZ und EDT und die jeweilige Zeitdifferenz
require_once 'vendor/autoload.php';
$vCalendar = new \Eluceo\iCal\Component\Calendar('dvs.delti.com');
$formatstring = "| %10s| %12s | %s|\n";
printf($formatstring, "Datum", "Ereignis", "Zeitdifferenz");
$week = 604800;
for($y=2013;$y<2021;$y++) {
$times = array(
array(strtotime("March $y Sunday") + $week, "EST -> EDT", "-5"),
array(strtotime("April $y Sunday") - $week, "MEZ -> MESZ", "-6"),
array(strtotime("November $y Sunday") - $week, "MESZ -> MEZ", "-5"),
array(strtotime("November $y Sunday"), "EDT -> EST", "-6")
);
// Export wiki text
for($i=0;$i<4;$i++) {
printf($formatstring, date("d.m.Y", $times[$i][0]), $times[$i][1], $times[$i][0]);
$vEvent = new \Eluceo\iCal\Component\Event();
$vEvent->setDtStart(new \DateTime("@".$times[$i][0]));
$vEvent->setDtEnd(new \DateTime("@".$times[$i][0]));
$vEvent->setNoTime(true);
$vEvent->setSummary("Zeitumstellung ".$times[$i][1]);
$vCalendar->addEvent($vEvent);
}
}
file_put_contents("zz.ics", $vCalendar->render());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment