Logic fehler????

Hallo Leute ich habe Steiners Google Script zum Abfragen von Termin ein bissen ferändern.
Es soll nun ein wenig früher starten.Macht aber genau das gegenteil es startet genau den offset später.nur ferstehe ich nicht wo mein Fehler ist.

<?
$cal = GetValue(47042 /*[Goolge Kalender TV-Erinnerung\Kalender]*/);
$today_jetzt = date("d m Y H i");
$offset = GetValue(24082 /*[.SCRIPT TEST\Google Kalender Script ausführen\Offset in Min]*/);
list ($day, $monat, $year ,$Hour ,$min) = explode (" ", $today_jetzt);
$tstamp = mktime(date($Hour),date($min)-$offset,date("s"),date($monat),date($day),date($year));
$adddatum = date("d.m.Y H:i",$tstamp);

echo "Today    ".$today_jetzt ."
";
echo "Offset   ".$offset ."
";
echo "Geändert ".$adddatum ."
";

$pos1 = strpos($cal, $adddatum);
if ($pos1 !== False){
    $pos2 = strpos($cal, chr(10));
    $ANSAGE = substr($cal,$pos1,$pos2);
    setValueString(14701 /*[.SCRIPT TEST\TV-Erinnerung]*/,$ANSAGE);
}
?>

ich hoffe ihr könnt mir helfen

ferändern und ferstehen… schreibt man nicht so…
Das schmerzt beim Lesen!

und


if ($pos1 !== False)

würde ich eher


if ($pos1 != False) oder
if ($pos1 == True) oder
if ($pos1)

schreiben…

l.g.
Andi

ja Legastenie ist schon scheiße ich muß unbedingt mal wieder das rechtschreibe adon installieren,du hast recht,
deine Lösung ist nett erklärt aber nicht das verhalten.

Das stimmt so nicht. PHP unterscheidet zwischen gleich und identisch sowie ungleich und nicht identisch. Es gibt also sehr wohl einen Unterschied zwischen != und !==. Ob der Autor das so beabsichtigt hat odfer nicht kann man daraus also nicht schließen.

@Ken:

  
$tstamp = time();
  $offset = 5; // Minuten

  echo date('c', $tstamp)."
";
  $tstamp = $tstamp-($offset*60);
  echo date('c', $tstamp);

Gruß,

Toni

Ich versuch es mal mit dieser Änderung

<?
$cal = GetValue(47042 /*[Goolge Kalender TV-Erinnerung\Kalender]*/);
//$today_jetzt = date("d m Y H i");
$offset = GetValue(24082 /*[.SCRIPT TEST\Google Kalender Script ausführen\Offset in Min]*/);
//list ($day, $monat, $year ,$Hour ,$min) = explode (" ", $today_jetzt);
//$tstamp = mktime(date($Hour),date($min)-$offset,date("s"),date($monat),date($day),date($year));
//$adddatum = date("d.m.Y H:i",$tstamp);

$tstamp = time();
$tstamp = $tstamp-($offset*60);
$adddatum = date("d.m.Y H:i",$tstamp);


echo "Today    ".$today_jetzt ."
";
echo "Offset   ".$offset ."
";
echo "Geändert ".$adddatum ."
";

$pos1 = strpos($cal, $adddatum);
if ($pos1 !== False){
    $pos2 = strpos($cal, chr(10));
    $ANSAGE = substr($cal,$pos1,$pos2);
    setValueString(14701 /*[.SCRIPT TEST\TV-Erinnerung]*/,$ANSAGE);
}

?>

Deine Lösung Toni ist schöner hat aber immer noch den selben Fehler
Also noch mal zum Gesamtverständnis ich lade einen Sting Herunter.
DIESEN z.b.

29.09.2010 14:30 Cosmo & Wanda - Wenn Elfen helfen

Das script obern Lauft 1 Mal in Der Minute ab.
Laut meiner Denke müsste IPS mir um 14:20 sagen ]29.09.2010 14:40 Cosmo & Wanda - Wenn Elfen helfen
Leider macht er das aber exakt um 14:40 also genau 20 min später nur WARUM ??

Probier mal

$tstamp = $tstamp+($offset*60);

Die Aktuelle Zeit ist 14:20 Uhr.
In deinem Kalender steht 14:40.

Du musst also der aktuellen Zeit 20 Minuten draufrechnen damit er um 14:20 deinen Termin um 14:40 als „jetzt“ erkennt.

Wo benutzt du denn diesen String? Irgendwie sehe ich nicht wo du die 29.09.2010 14:30 her bekommst… und was hast du mit $today_jetzt vor gehabt?

@ SYSRUN ich glaube DA war der Logic fehler
DANKE HAT GEKLAPPT

In dem Fall musst es so machen wie sysrun vorschlägt…