Datumsarithmetik

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von juan_, 13.02.2008.

  1. #1 juan_, 13.02.2008
    Zuletzt bearbeitet: 13.02.2008
    juan_

    juan_ König

    Dabei seit:
    22.01.2004
    Beiträge:
    992
    Zustimmungen:
    0
    Ort:
    Berlin
    Hallo,
    folgenden Artikel hab ich gefunden, und bis zu dem Punkt "Probe aufs Exempel" gelesen und versucht das ganze mit Ruby umzusetzen.
    Hier mein Ergebnis. Fehlen tut noch die Bedingung, dass bei einem Schaltjahr ein Tag im Januar/Februar abgezogen wird.

    Code:
    ########################################
    #       Tag - Wochentag Rechner        #
    ########################################
    
    print "Datum eingeben (dd.mm.yyyy): "
    date = gets
    
    #zerlegt Datum in Einzelteile : $1(dd), $2(mm), $3(yy) und $4(yy)
    date =~ /(\d+).(\d+).(\d\d)(\d+)/
    
    #Jahr durch Tag, modulo 7
    jahr =  ($4.to_i / $1.to_i) % 7.to_i
    
    
    
    #Hashes mit Monaten, Jahren, Tagen
    monatsliste = {
    "01" => 0,
    "02" => 3,
    "03" => 3,
    "04" => 6,
    "05" => 1,
    "06" => 4,
    "07" => 6,
    "08" => 2,
    "09" => 5,
    "10" => 0,
    "11" => 3,
    "12" => 5
    }
    
    jahreswerte = {
    "17" => 4,
    "18" => 2,
    "19" => 0,
    "20" => 6,
    "21" => 4,
    "22" => 1,
    "23" => 0
    }
    
    
    wochentagswerte = {
    0 => "Sonntag",
    1 => "Montag",
    2 => "Dienstag",
    3 => "Mittwoch",
    4 => "Donnerstag",
    5 => "Freitag",
    6 => "Samstag"
    }
    
    #Addition der 4 Werte, modulo 7
    tag = (jahr + monatsliste [$2].to_i + $1.to_i + jahreswerte [$3].to_i) % 7
    
    puts "Der #{date} war ein #{wochentagswerte [tag]}!"
    
    
    Falls noch jmd grade eine Sprache lernt und sich versuchen möchte, oder mir Tipps geben will, bitte bitte. Ich bin gespannt ;)
    Das mit dem Schaltjahr werd ich nachtragen, muss nur noch hinter die Logik kommen, das Umsetzen wird - denke ich - nicht das Problem.
    Bitte auch nur bis zum Punkt "Probe aufs Exempel" lesen, denn ab da beginnt die Lösung. Ich werde sie auch erst lesen, wenn sich hier niemand mehr meldet =)

    adieu


    //Edit: achso, eine Abfrage, ob das Datum das richtige Format hat, kommt auch noch
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Datumsarithmetik