neues Datum durch Zeitangabe in sec berechnen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von walid_de, 10.06.2007.

  1. #1 walid_de, 10.06.2007
    walid_de

    walid_de Grünschnabel

    Dabei seit:
    10.06.2007
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo,
    wie kann man das neue Datum nach einer Zeitangabe in Sekunden berechnen?
    Skript bekommt als Aufrufparameter eine lange Zahl in Sekunden und als Ergebniss soll er das neue Datum in Format (YYYY-MM-DD HH:MM) und zwar ab dem aktuellen Zeitpunkt liefern!
    z.B:
    - aktuelle Zeit: 2007-06-10 01:30
    - ./myscript 3660
    - Ausgabe neues Datum: 2007-06-10 02:31

    Das Skript läuft auf HP_UX, AIX und SuSE Linux.

    Danke und Gruß
    Walid
     
  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. rikola

    rikola Foren Gott

    Dabei seit:
    23.08.2005
    Beiträge:
    2.133
    Zustimmungen:
    0
    Etwa in der Art:?
    Code:
    future=$(($(date "+%s") +400))
    date -d @$future
    
     
  4. Ale-x

    Ale-x bash lehrling

    Dabei seit:
    13.04.2007
    Beiträge:
    109
    Zustimmungen:
    0
    Ort:
    Osnabrück
    vielleicht kannst du damit was anfangen?
    hab ich im netz gefunden

    [root@jacque tools]# perl datum.pl 1181500000
    Tag: 10.06.2007 - Stunde:20:26:40

    root@jacque tools]# perl datum.pl 1181503660
    Tag: 10.06.2007 - Stunde:21:27:40


    Code:
    #!/usr/bin/perl
    
    $timestamp = $ARGV[0];
    
    print uhrzeit($timestamp)." ";
    
    sub uhrzeit {
       ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
    localtime($_[0]);
       $year += 1900;
       $mon++;
       if ($mon < 10) {
          $mon = "0$mon";
       }
       if ($mday < 10) {
          $mday = "0$mday";
       }
       return "Tag: ".$mday.".".$mon.".".$year." - Stunde:
    ".$hour.':'.$min.':'.$sec;
    }
    
     
  5. #4 smg, 10.06.2007
    Zuletzt bearbeitet: 10.06.2007
    smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Perl:
    Bash:
    Ohne temporären Kram:
    Code:
    echo $(date -d @$(( $(date "+%s") + 120 )) )
     
  6. #5 Wolfgang, 10.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Damit dürfte sich das Format %s erledigt haben.
    Das kennt IMHO nur GNU date, was auf Suse zwar läüft, aber wohl weniger auf HP UX AIX.
    Mit Perl ist das aber als Einzeiler sehr einfach.

    Code:
    perl -le 'print scalar localtime ($ARGV[0])' <hier der Timestamp>
    
    Gruß Wolfgang
     
  7. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Das ist aber nicht was er will!
    Er möchte Sekunden angebene, und daraus ein Datum in der Zukunft errechnen! Keinen Stamp!
     
  8. #7 Wolfgang, 10.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Achso, sorry missverstanden.
    Aber auch das ist total unkompliziert:
    Code:
    perl -le 'print scalar localtime (time + $ARGV[0])' <SEKUNDEN>
    
    Gruß Wolfgang
     
  9. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Jo Wolfgang genau, ich wollte einfach nur mal mit so ner Funktion formatieren, sorry. :) Also mit der anonymen sub *g* -> Spielerei.
     
  10. #9 Wolfgang, 10.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Man kann natürlich viel rumspielen. ;)
    Aber mein Motto ist:
    Einfache Aufgaben erfordern einfache Lösungen!

    Hier ging es ja nicht um Perl selbst, sondern um eine klare Problemlösung.

    Da es hier eigentlich um die Shell geht, ist Perl nur als portables Hilfsmittel zu verstehen.
    Das soll OP ja auch verstehen.
    Deshalb ist es sinnvoll, das möglichst einfach zu halten.

    Natürlich kann die Ausgabe noch schön formatiert werden, das ist aber hier nicht erforderlich.

    Nix für Ungut.
    Gruß Wolfgang
     
  11. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Okay, sorry. :headup:
    Bist du sicher, dass das Date von ihm kein +%s kann? Sonst könnte man auch eine Bash/SH Lösung von oben nehmen.
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 Wolfgang, 10.06.2007
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Ich sagte schon, %s ist nicht portable, sondern nur für GNU date gültig.
    Siehe hier.
    Ob das hier auch gilt, kann keiner von uns beiden wissen. ;)

    Gruß Wolfgang
     
  14. smg

    smg Regex Fetischist

    Dabei seit:
    20.05.2007
    Beiträge:
    195
    Zustimmungen:
    0
    Ort:
    /home/stephan/
    Ah, verdammt!
     
Thema:

neues Datum durch Zeitangabe in sec berechnen

Die Seite wird geladen...

neues Datum durch Zeitangabe in sec berechnen - Ähnliche Themen

  1. Neues Mitglied - Hallo erstmal

    Neues Mitglied - Hallo erstmal: Hallo alle zusammen im Forum, ich habe mich gerade neu hier angemeldet und möchte mich gerne an dieser Stelle vorstellen. Ich bin der Josef und...
  2. Raspberry Pi: Neues Kamera-Modul verfügbar

    Raspberry Pi: Neues Kamera-Modul verfügbar: Fast drei Jahre nach der ersten Vorstellung eines Kameramoduls für den Kleinstrechner Raspberry Pi liefert die hinter dem Gerät stehende...
  3. Snap als neues Paketformat in Ubuntu 16.04 LTS »Xenial Xerus«

    Snap als neues Paketformat in Ubuntu 16.04 LTS »Xenial Xerus«: Wenn Canonical in wenigen Tagen Ubuntu 16.04 veröffentlicht, wird mit Snap ein neues Paketformat an Bord sein, das mit dem herkömmlichen...
  4. Meizu weist auf mögliches neues Ubuntu Phone hin

    Meizu weist auf mögliches neues Ubuntu Phone hin: Meizu und Canonical haben im chinesischen Microbloggingdienst Weibo Hinweise auf eine gemeinsame Vorstellung beim nächste Woche stattfindenden...
  5. KDE kündigt neues Projekt Neon an

    KDE kündigt neues Projekt Neon an: KDE stellt ab sofort täglich aktualisierte Binärpakete der KDE-Software bereit. Diese sollen sowohl Desktop-Benutzer, die aktuell bleiben und...