am timestamp erkennen ob schaltjahr ist

Dieses Thema im Forum "Unix Derivate & sonst. Unix Fragen" wurde erstellt von Schneemann, 25.09.2006.

  1. #1 Schneemann, 25.09.2006
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    erstma, ich weiß net so ob das hier reinpasst, aber es handelt sich ja um UNIX-timestamps und als katergorien-name stand da auch "UNIX und _sonstiges_". naja egal.

    Nehmen wir an wir haben einen timestamp wie z.B "1159215119". Wie erkenn ich daran ob es ein schaltjar ist oder nicht, OHNE das jahr auszurechnen! (wer das jahr aus dem timestamp ausrechnen will, wird herausfinden dass man dazu die tage im jahr braucht. Und die Tage im Jahr sind vom Jahr abhängig).

    Um für machne Fragen es leicheter zu machen:
    ich brauch das weil ich hier ein paar funktionen schreibe die das arbeiten mit der zeit erleichtern sollen. Also ich hab schon die funktionen (namen wie in PHP) mktime() und time() geschrieben. nur noch date() fehlt mir.
     
  2. Anzeige

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

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Hallo,

    Die passende Zeit ist 22:11:59 Uhr, 25.09.2006. :D

    Gruß Lumpi
     
  4. #3 Wolfgang, 25.09.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Welches date steht dir zur Verfügung?
    Bei GNU date gibt es %j, was den Tag im Jahr ausgibt.
    In Kombination mit der Option -d kannst du so leicht feststellen ob es ein Schaltjahr ist.
    Hast du kein GNU date, kannst du mit der Shell die Jahreszahl über die Operation % (MOD) den Returnwert auf 0 Testen.
    Das Ergebnis muss durch 4 teilbar sein.

    Gruß Wolfgang
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    ...darf aber nicht durch 100 teilbar sein, es es denn, durch 400. *anmerk*

    Gruss, Xanti
     
  6. #5 Schneemann, 26.09.2006
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    das problem ist dass ich die funktionen systemunabhänging schreiben will. also GNU-date kann ich dann nicht verwenden.

    und das mit dem durch 4 teilbar:
    Klar weiß ich wie man anhand einer jahreszahl errechnet ob es ein schaltjahr ist. Das Problem ist nur, dass ich erstmal das jahr wissen muss und das ist (wegen den tagen im jahr) vom schaltjahr abhängig.

    PS: danke für den typ GNU-date, kann ich ma in den sourcecode reinschauen, wie die das gelöst haben
     
  7. Lumpi

    Lumpi Haudegen

    Dabei seit:
    14.06.2006
    Beiträge:
    663
    Zustimmungen:
    0
    Ort:
    Dessau
    Hallo,

    Mal so aus Neugier
    Wozu verwendest / benötigst du timestamp?
    Timestamp gilt doch nur bis 2029?
    Was machst du danach?
    Ist DATETIME nicht günstiger?

    Gruß Lumpi
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. #7 Schneemann, 26.09.2006
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    die 32-bit-timestamps gehen nur bis 2029, aber die 64bit reichen noch n bissl länger. das problem ist aber auch nur bei hardware-naher programmierung. Da ich ein mordernes basic benutze denke ich dass doch noch länger reicht.

    Also ich programmiere ein kleines virtuelles betriebssystem, dass später mal auf meiner PlayStation2 laufen soll, und jetzt will ich ein paar gute Zeit-Funktionen haben.
     
  10. #8 Schneemann, 26.09.2006
    Schneemann

    Schneemann Routinier

    Dabei seit:
    27.06.2006
    Beiträge:
    289
    Zustimmungen:
    0
    Ort:
    /home/janosch
    also hab erst ma versucht das in einem text zu schreiben aber besser ich kopiere einfach ma den code hier hin:

    Code:
    do
        dpy = 365
        if (mod(year,400)=0 or (mod(year,4)=0 and mod(year,100)<>0)) dpy = 366
        s = s-60*60*24*dpy
        if (s<0) break
        y = y+1
    loop
    year = y
    leapyear = 0
    if (dpy=366) leapyear=1
    
    ist halt basic...
     
Thema:

am timestamp erkennen ob schaltjahr ist

Die Seite wird geladen...

am timestamp erkennen ob schaltjahr ist - Ähnliche Themen

  1. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...
  2. FFMPEG none monotone timestamps

    FFMPEG none monotone timestamps: Hallo, also hier steht jetzt seit kurzem ein neuer Fernseher inkl. Netzwerk/UPNP. :)) Leider ließt der meine VDR Aufnahmen erst, nachdem die...
  3. Datumsumrechnung des morgigen Tages mittels Timestamp

    Datumsumrechnung des morgigen Tages mittels Timestamp: Hi, also ich würde gern Timestamps erstellen. Das klappt soweit ganz gut, zumindest für den aktuellen Tag: $nToday = mktime(0, 0, 0, date("m") ,...
  4. Timestamp abfrage als Cronjob

    Timestamp abfrage als Cronjob: Hallo, ich habe die notwendigkeit via Cronjob (alle 15-30 Minuten) eine Datei zu überprüfen, ob diese älter als 5 Minuten ist. Sollte diese...
  5. Timestamp in lesbares Datum konvertieren

    Timestamp in lesbares Datum konvertieren: Hallo! Ich bräuchte einen Algorithmus und/oder eine Funktion, die es mir ermöglicht einen Zeitstempel (seit 1.1.1900) auf die aktuelle Zeit zu...