Falsches Datum

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von kawageri, 25.02.2010.

  1. #1 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    Hi,

    ich habe ein Script mit dem ich eine Backup-Log auswerten soll. Da nun das Backup aber über mehrere Tage, genau zu sein 3 läuft, bekomme ich immer eine Fehlermeldung, dass das Backup fehlerhaft ist. Es stimmt aber nur das Datum nicht überein, das Backup läuft Ordnungsgemäß.

    Fehler:
    Datum weicht vom Soll wert ab.
    Datum sollte sein: 0-2-02-2010
    Datum ist jedoch: 29-01-2010



    Ich habe schon versucht, das problem selber in Angriff zu nehmen, doch leider scheiterte meine Idee. Hier ist der Auszug des Scripts bezüglich des Datums, seit dem ich diesen teil verändert habe läuft das Script auch nicht mehr.

    my $Soll_Jahr = $Zeit[5]+1900;
    my $Soll_Monat = $Zeit[4]+1;
    my $Soll_Tag = $Zeit[3]-3;

    if ($Soll_Tag<10)
    {
    $Soll_Tag = "0".$Soll_Tag;
    }
    if ($Soll_Monat<10)
    {
    $Soll_Monat = "0".$Soll_Monat;
    }


    if ($Soll_Tag<1){
    $Soll_Monat = $Soll_Monat-1;

    if ($Soll_Monat = 1;3;5;7;8;10;12){
    $Soll_Tag = 31 + $Soll_Tag
    }
    if ($Soll_Monat = 4;6;9;11){
    $Soll_Tag = 30 + $Soll_Tag
    }
    if ($Soll_Monat = 2){
    $Soll_Tag = 28 + $Soll_Tag
    }
    }


    kann mir jemand helfen???
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    was hast du verändert?

    0-2-02-2010 ist aber kein Datum...

    Zudem sehe ich kein echo, wo du das ausgibst und welche variable das ist

    was willst du mit dem my vor dem $Soll... bezwecken?

    Bitte Rücke auch den Quelltext ein, damit wir ihn besser lesen können.
     
  4. #3 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    HTML:
    my $Soll_Jahr = $Zeit[5]+1900;
    my $Soll_Monat = $Zeit[4]+1;
    my $Soll_Tag = $Zeit[3]-3;
    
    if ($Soll_Tag<10)
    {
        $Soll_Tag = "0".$Soll_Tag;
    }
    if ($Soll_Monat<10)
    {
        $Soll_Monat = "0".$Soll_Monat;
    }
    
    
    if ($Soll_Tag<1){
        $Soll_Monat = $Soll_Monat-1;
        
        if ($Soll_Monat = 1;3;5;7;8;10;12){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat = 4;6;9;11){
            $Soll_Tag = 30 + $Soll_Tag
        }     
        if ($Soll_Monat = 2){
            $Soll_Tag = 28 + $Soll_Tag
        }
    }    
    
    was das mit dem my ist weiß ich nicht, mein Vorgänger hat es so geschrieben und es hat bis jetzt immer funktioniert.

    Fehler:
    Datum weicht vom Soll wert ab.
    Datum sollte sein: 0-2-02-2010
    Datum ist jedoch: 29-01-2010

    Der Fehler kommt daher, dass es kein Minus Datum gibt. es werden ja 3 Tage vom Ist_Tag abgezogen und daher kommt auch die 0-2. Theoretisch wäre der 0-2. feb der 29.jan, aber wie kann man dass nun in dem Script schreiben??

    Geändert habe ich, dass ich vom Ist_Tag 3 Tage subtrahiere
    HTML:
    my $Soll_Tag = $Zeit[3]-3;
    das funktioniert auch so lange, bis der Tag mal kleiner gleich 3 ist.

    und den teil habe ich hinzugefügt
    HTML:
    if ($Soll_Tag<1){
        $Soll_Monat = $Soll_Monat-1;
        
        if ($Soll_Monat = 1;3;5;7;8;10;12){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat = 4;6;9;11){
            $Soll_Tag = 30 + $Soll_Tag
        }     
        if ($Soll_Monat = 2){
            $Soll_Tag = 28 + $Soll_Tag
        }
     
  5. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    PHP:
    <?php
    if ($Soll_Tag<1){
        
    $Soll_Monat $Soll_Monat-1;
        
        if (
    $Soll_Monat 1;3;5;7;8;10;12){
            
    $Soll_Tag 31 $Soll_Tag
        
    }
        if (
    $Soll_Monat 4;6;9;11){
            
    $Soll_Tag 30 $Soll_Tag
        
    }     
        if (
    $Soll_Monat 2){
            
    $Soll_Tag 28 $Soll_Tag
        
    }

    ?>
    ACHTUNG:
    '=' ==> Zuweisung
    '==' ==> Vergleich


    Füge folgende Zeile am anfang ein.
    PHP:
    <?php
    error_reporting
    (E_ALL E_STRICT);
    ?>

    $Zeit[X] ==> werte hier sind richtig?
     
  6. #5 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    Danke für die Schnelle Hilfe, aber ich meine es ist kein PHP-Script, da die Datei auf .pl endet.
    Ich kenne mich leider noch nciht so gut im Programmieren aus.

    Muss ich dann trotzdem das doppelte = benutzten?
     
  7. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    php, c, c++, java braucht man ein doppel =.

    Auf der ebene von pl bin ich ein völliger noob. Versuch es mal. Evt. hilfts. Du könntest auch in jede if ein echo rein tun, um zu checken, ob er auch immer rein geht, oder nicht....
     
  8. #7 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    danke schonmal soweit, allerdings, aheb ich nun ein weiteres Problem.

    Ich wollte das sript mal testen, nur immer auf dem Server zu testen ist ziemlich blöd, da ich da die Log-dateien die aus gelesen werden, nicht verändern kann.

    wie kann ich dieses Script nun auf meinem PC starten?
     
  9. disler

    disler Erfahrener Benutzer

    Dabei seit:
    05.07.2007
    Beiträge:
    1.654
    Zustimmungen:
    0
    Ort:
    Schweiz
    versuchs mal mit xampp, kann dir aber nicht versprechen, dass dieser *.pl dateien ausführt.
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. #9 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    habe ich schon probiert, aber damit kam ich garnicht zurecht.

    hat noch jemand anderes Ideen?
     
  12. #10 kawageri, 25.02.2010
    kawageri

    kawageri Erfahrener Benutzer

    Dabei seit:
    10.07.2008
    Beiträge:
    449
    Zustimmungen:
    0
    Ort:
    Meerbusch
    ich habe es nochmal umgeschrieben und jetzt läuft es durch, mal gucken wie es am montag aussieht wenn normalerweise ein fehler ausgespuckt wird.

    Code:
    my $Soll_Jahr = $Zeit[5]+1900;
    my $Soll_Monat = $Zeit[4]+1;
    my $Soll_Tag = $Zeit[3]-3;
    
    if ($Soll_Tag<10)
    {
        $Soll_Tag = "0".$Soll_Tag;
    }
    if ($Soll_Monat<10)
    {
        $Soll_Monat = "0".$Soll_Monat;
    }
    
    if ($Soll_Tag<01){
        $Soll_Monat = $Soll_Monat-1;
        
        if ($Soll_Monat == 1){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 3){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 5){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 7){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 8){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 10){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 12){
            $Soll_Tag = 31 + $Soll_Tag
        }
        if ($Soll_Monat == 4){
            $Soll_Tag = 30 + $Soll_Tag
        }
        if ($Soll_Monat == 6){
            $Soll_Tag = 30 + $Soll_Tag
        }
        if ($Soll_Monat == 9){
            $Soll_Tag = 30 + $Soll_Tag
        }
        if ($Soll_Monat == 11){
            $Soll_Tag = 30 + $Soll_Tag
        }     
        if ($Soll_Monat == 2){
             $Soll_Tag = 28 + $Soll_Tag
        }
    }
     
Thema: Falsches Datum
Besucher kamen mit folgenden Suchen
  1. windows 7 falsches datumsformat skript

    ,
  2. perl falsches datumformat 1

Die Seite wird geladen...

Falsches Datum - Ähnliche Themen

  1. Umzug von HDD aus SDD -> Bootet von falscher Partition

    Umzug von HDD aus SDD -> Bootet von falscher Partition: Hallo, ich habe folgende Konfiguration für meinen Umzug: HP 850 G2 Laptop HDD SSD Auf dem Rechner (HDD) ist Windows 7 installiert mit...
  2. Problem mit falscher Monitor Einstellungen!

    Problem mit falscher Monitor Einstellungen!: Allem erst mal ein herzliches Hallo bin neu hier heisst Christian bin 38 komme aus der Schweiz und hab echt ein Riesen Problem. Da ich gerade am...
  3. Falsche Darstellung von Scrollbar und Bildern auf manchen Websites

    Falsche Darstellung von Scrollbar und Bildern auf manchen Websites: Hallo, ich hoffe das hier ist das richtige Unterforum. Das Problem bei mir ist, dass auf einigen Websites der Scrollbar vom Bild her falsch...
  4. Externe Festplatte falsch "verknüpft" mit Word

    Externe Festplatte falsch "verknüpft" mit Word: Hallo, vor ein paar Tagen habe ich ein Dokument in Word geschrieben und meines wissens auch gespeichert während meine ext. HD am PC hing....
  5. GPU Temperatur falsch?

    GPU Temperatur falsch?: Hallo, ich hab letztens meine Grafikkarte( HD 7970) ausgebaut um die Lüfter zu entstauben. Lief auch alles super...als ich dann Battlefield...