-
Timewert von API stat() als ttmmjjjj
Hallo liebes Forum,
ich arbeite mich gerade in die API rein - mittels opendir, readdir, stat lese ich den Inhalt eines Verzeichnises im IFS aus.
Das funktioniert auch soweit, die stat Funktion liefert u.a. den Wert time_t --> Time of last data modification.
Nun meine Frage:
Wie kann ich diesen Wert (sind ja anscheinend anzahl Sekunden seit xxx) in einen Datum / Zeit Wert umwandeln, den ich dann in einem RPG Programm weiterverarbeiten kann ??
Ein kleines Beispiel wäre super.
Danke.
-
Dazu dient dann die C-Funktion "struct tm* localtime(time_t time);"
Diese berücksichtigt dann auch QUTCOFFSET korrekt.
-
Hallo,
time_t ist der Typ. Hier die verschiedenen Datumswerte, die "stat" liefert.
PHP-Code:
time_t st_atime The most recent time the file was accessed.
time_t st_mtime The most recent time the contents of the file were changed.
time_t st_ctime The most recent time the status of the file was changed
Hier eine C-Funktion, welche aus st_mtime ein Datum im Format JJJJMMTT macht.
PHP-Code:
long int RetrieveEntryAccessTime(char *path) {
struct stat info;
struct tm date;
if (stat(path, &info) != 0)
return -1;
else {
localtime_r(&info.st_mtime, &date);
return (date.tm_mday) + ((date.tm_mon + 1) * 100) + ((date.tm_year + 1900) * 10000);
}
}
Wenn Du ein anderes Datum willst, dann musst Du nur st_mtime auswechseln.
Frank Hildebrandt
-
Vielen Danke für die hilfe,
versuche mal mein Glück mit dem Befehl ADDDUR, wenn das nicht klappt, werde ich auf C umsteigen.
-
Hallo,
die Unix-APIs liefern alle Zeitangaben in Sekunden seit "The Epoch" (01.01.1970 00:00:00). Für die Umrechnung wirst Du nicht ernsthaft einen Tip erwarten, denke ich (%DIFF, falls doch ...).
MfG
M. Spateneder
-
Die C-Funktion localtime() rechnet den Time-Wert (1.1.1970) unter Berücksichtigung von QUTCOFFSET in eine lokale Zeit um.
Dies ist deshalb notwendig, da stat() den um QUTCOFFSET korrigierten Zeitwert (GMT-Zeit) liefert.
Mit ADDDUR kommt man nur dann zurecht, wenn man eben selber QUTCOFFSET berücksichtigt.
Neuerdings (ab V5R3) wird allerdings auch eine USER-Zeit über eine Umgebungsvariable ermöglicht, deren Wert von QUTCOFFSET abweichen kann.
stat() verwendet diesen Wert.
Also wäre localtime() auf jeden Fall die bessere Wahl.
Similar Threads
-
By TMusolf in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 25-01-07, 12:42
-
By jogisarge in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 22-11-06, 16:02
-
By ExAzubi in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 17-10-06, 16:48
-
By lyrics in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 29-08-06, 09:03
-
By haertl in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 11-05-06, 11:24
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks