SAS timestempel von wissenschaftlicher Notation bis JJJJ / MM / TT hh: mm: ss

Problem:

Mein timestempel wird in wissenschaftlicher Notation angezeigt. Ich möchte die Spalte ohne wissenschaftliche Notation anzeigen und eine zweite Spalte erstellen, die als ein langes date, JJJJ / MM / TT HH: MM: SS formatiert ist.

Schritte gemacht:

Ich habe die Spalte bereits von einem timestempel von UNIX Epoch (1960) in timestempel von SAS time (1970) konvertiert. Aber wissenschaftliche Notation bleibt bestehen. Ich habe date20 versucht. macht auch nicht den Trick.

timestempel in wissenschaftlicher Notation

Mein momentan nicht ausreichender Code kann die Timestamp-Spalte nicht als date formatieren.

proc print data=heart._23a; format timestamp date9.; run; 

Ergebnisse:

Es führt zu keinen Fehlern, aber es dimensioniert meine Matrix zu einem 1×3 . Ich brauche eine Matrix der gleichen Dimension, nur mit einem neu formatierten timestempel. Ich schätze jede Hilfe, aber bitte behalte es einfach , ich bin in unbekanntem Gebiet!

Solutions Collecting From Web of "SAS timestempel von wissenschaftlicher Notation bis JJJJ / MM / TT hh: mm: ss"

datetime17. ist das Standardzeitstempelformat in SAS, obwohl Sie auch viele andere Möglichkeiten haben. ymddttm. ist meiner Meinung nach am nächsten zu dem, was Sie suchen.

Eine wichtige Unterscheidung hier: SAS hat zwei Konzepte, date und datetime . date ist die Anzahl der Tage seit dem 1.1.1960 und hat keinen datetime , während datetime die Anzahl der Sekunden seit dem 1.1.1900 00:00:00 angibt und sowohl Uhrzeit als auch date enthält. Sie können datepart , um datetime -> date zu konvertieren, oder dhms date -> datetime.

Deine Frage scheint auch die zwei Epochen rückwärts zu bekommen. UNIX Epoche ist 1970. SAS Epoche ist 1960.

Schließlich, wenn Sie die rohe Anzahl von Sekunden anzeigen möchten, verwenden wd Format wd anstelle von bestw.d Format – format timestampvar 14. zum Beispiel, wo w ist die Anzahl der character (Ziffern) Breite insgesamt einschließlich Dezimal.