[NEWSboard IBMi Forum]

Thema: %TIMESTAMP

Hybrid View

  1. #1
    Registriert seit
    Dec 2005
    Beiträge
    22

    %TIMESTAMP

    Hallo liebes Forum!

    Wie bekomme ich eigentlich mit %TIMESTAMP nur die Stunden und Minuten (4-stellig) heraus?

    Lg und Dank im Voraus!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    D ActTime T
    D ActHour 5I 0
    D ActMinute 5I 0

    ActTime=%timestamp();
    ActHour=%hour(ActHour);
    ActMinute=%minutes(ActHour);
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Dec 2005
    Beiträge
    22
    Aber gibt es eine direkt BIF, wo ich die Stunden und Minuten direkt herausbekomme?

    Danke Vielmals für die rasche Antwort!

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Durch Kombination:

    %hour(%timestamp())
    %minutes(%timestamp())
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    War doch nicht ganz korrekt, nun das Richtige:

    %subst(%char(%time()):1:5);

    Das Zeitformat hängt allerdings von den H-Bestimmungen ab.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Dec 2005
    Beiträge
    22
    Danke Vielmals und noch einen schönen Tag!

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Es geht noch einfacher:

    ActHour = %subdt(%time:*h);
    ActMinute= %subdt(%time:*mn);

    Zu beachten ist allerdings folgendes:
    Durch die 2 getrennten Aufrufe kann es zur vollen Stunde zu falschen Angaben kommen.
    Wenn die Stunde um z.B. 14:59:59.999 abgerufen wird und die Minute um 15:00:00.001 !
    Es ist also besser eine Hilfsvariable zu nehmen, auch wenn das nur 1 Mal alle paar Millionen Aufrufe passieren könnte.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Dec 2005
    Beiträge
    22
    Genau diese Lösung schwebte mir vor!

    Super!

    Danke noch einmal!

    Lg

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich würde das Ganze über eine Datenstruktur lösen.
    Wenn diese Datenstruktur zudem noch lokal in einer Prozedur definiert ist, kann man sie sogar mit dem System-Wert initialisieren. Ansonsten sollte man mit der Built-in-Funktion die System-Zeit ermitteln. Bei einer Datenstruktur hat man außerdem nur einen einzigen Aufruf!

    PHP-Code:
    D DSTime          DS                                    
    D   Time                          T   inz
    (*Sys)         
    D     TimeK                      5A   Overlay(Time)     
    D     TimeA                      8A   Overlay(Time)     
    D       HoursN                   2S 0 Overlay(TimeA)    
    D       MinutesN                 2S 0 Overlay(TimeA4
     *---------------------------------------------------
     /
    Free
        Time 
    = %Time();
        *
    INLR = *On;
     /
    End-Free 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •