Unix-Zeitstempel für echtes Datum und Uhrzeit<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich extrahiere Daten aus einer Datenbank und ein Teil davon ist eine „Startzeit“ für einen Prozess. Das Hauptproblem dabei ist, dass es im UNIX-Format vorliegt und daher eine 10-stellige Zahl zurückgibt. Ich weiß, dass die Formel für die Konvertierung in tatsächliches Datum und Uhrzeit wie folgt lautet
(aus Excel übernommen)
=ZELLE/(60*60*24)+"1.1.1970"
Das Ändern einer Spalte in JMP sollte also unkompliziert sein, aber ich schaffe es scheinbar nicht. (60*60*24) ist einfach, aber auf welches Format muss ich + „1/1/1970“ einstellen, damit das funktioniert?
Als Beispiel habe ich eine Datentabelle beigefügt, die einige Daten aus den letzten 6 Jahren enthält. Ich habe das Gefühl, dass dies vielleicht schon einmal gefragt wurde, aber ich kann nichts finden, was damit zusammenhängt.
Grüße
David
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitHallo @Jeff_Perkinson ,
etwas wie Zeitzonenkonvertierung .
Das Video in @jthi Der Beitrag zeigt höhere Ordnungen der Ausgabe, aber selbst bei einer „einfachen“ Umstellung von UTC auf deutsche Sommer-/Winterzeit könnte eine JSL-Funktion viel Zeit sparen.
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitEs ist nichts eingebaut, aber normalerweise geht es nur darum, Stunden (in Sekunden) zu einer Zeit zu addieren/subtrahieren.
Welche Hilfe benötigen Sie?
Betreff: Unix-Zeitstempel in echtes Datum und Uhrzeit
@jthi schrieb:
... Hoffentlich müssen Sie Zeitzonen nicht berühren
und wenn es sein muss – kann Jmp helfen?
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitDanke!
Betreff: Unix-Zeitstempel in echtes Datum und UhrzeitIch denke, es sollte ausreichen, wenn Sie die Unix-Nullzeit aus der Datums- und Uhrzeitangabe von JMP entfernen, da beide in Sekunden angegeben sind. Hoffentlich müssen Sie Zeitzonen nicht berühren ( Das Problem mit Zeit und Zeitzonen – Computerphile (youtube.com) )
Names Default To Here(1);
unix_zero = Date MDY(1,1,1970);
date_now = Today();
unix_time = date_now - unix_zero;
// In Hours() might be helpful if you need timezone conversion
// just to verify that time is correct I'm using Unix Timestamp converter REST API from https://unixtime.co.za/
aa = Associative Array();
aa["timestamp"] = unix_time;
request = New HTTP Request(
URL("https://showcase.api.linx.twenty57.net/UnixTime/fromunix"),
Method("GET"),
Query String(aa)
);
data = request << send;
Show(As Date(date_now));
show(data);
Betreff: Unix-Zeitstempel in echtes Datum und UhrzeitMeine Frage ist genau das Gegenteil: Wie konvertiere ich Echtzeit in Unix-Zeitstempel?
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitJa....wusste, dass mir etwas fehlte, lol. Danke!
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitZur Auswahl des Formats haben Sie auf „Datum“ geklickt. Wählen Sie „Zeit“ und Sie erhalten alle Datums-/UhrzeitformateBetreff: Unix-Zeitstempel zu echtem Datum und UhrzeitHallo Bill,
Ich weiß, dass dieser Beitrag schon ewig her ist, aber ich versuche das Gleiche zu tun und scheitere. Ich habe die Formel und alle diese Eingaben in der neuen Spalte, kann aber die Option zur Auswahl von m/d/yh:m:s für die Datumskonvention nicht finden. Mir stehen lediglich die Optionen zur Auswahl aus den vielen Varianten von m/d/y zur Verfügung. Fehlt mir etwas, damit die Uhrzeit in die Datumsausgabe einbezogen wird? Danke.


@Bill_Worley schrieb:
Noch eine Ergänzung: Ich habe offline mit Jeff gesprochen und er hat einen sehr guten Punkt dargelegt.Verwenden Sie nicht die Zeichenfolge „MDYHMS“, wenn Sie mit Ihren Zeitstempeln rechnen möchten.Verwenden Sie die Spalteninfo, um Ihre neuen Zeiten als kontinuierliche Daten zu formatieren.

Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitJeff/Bill,
Mir ist aufgefallen, dass es auch in Sekunden war, aber ich habe die verfügbare Formatierung verwendet, um es in die „richtige“ Zeit umzuwandeln.
Danke noch einmal.
David
Betreff: Unix-Zeitstempel in echtes Datum und UhrzeitJeff,
Mir war mehrmals aufgefallen, dass der 4. Januar 1904 auftauchte, und ich dachte, es sei ein Formatierungs- oder Berechnungsfehler, den ich gemacht hatte. Dies verstärkte nur meine Verwirrung darüber, warum ich diese Datumsumrechnung nicht zum Laufen bringen konnte.
Vielen Dank für Ihre Hilfe
David
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitNoch eine Ergänzung: Ich habe offline mit Jeff gesprochen und er hat einen sehr guten Punkt dargelegt.Verwenden Sie nicht die Zeichenfolge „MDYHMS“, wenn Sie mit Ihren Zeitstempeln rechnen möchten.Verwenden Sie die Spalteninfo, um Ihre neuen Zeiten als kontinuierliche Daten zu formatieren.

Betreff: Unix-Zeitstempel in echtes Datum und UhrzeitNur eine Ergänzung zu Jeffs Beitrag.Als ich seine Formel verwendete, erhielt ich die Anzahl der Sekunden zurück.Ich habe der Formel das MDYHMS-Format hinzugefügt, um Datum und Uhrzeit zu erhalten

Rechnung
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitDas UNIX-Datum ist die Anzahl der Sekunden seit dem 1. Januar 1970, Mitternacht.
JMP speichert Daten als Anzahl der Sekunden seit Mitternacht, dem 1. Januar 1904.
Wir müssen also nur den JMP-Datumswert für den 1. Januar 1970 zum Unix-Datumswert hinzufügen. Sie können dazu die Funktion Date DMY() verwenden:

-Jeff
Betreff: Unix-Zeitstempel zu echtem Datum und UhrzeitVersuchen Sie es mit 1jan1970 ohne Anführungszeichen.
Format( 1. Januar 1970+1445432452, „mdy“)
„21.10.2015“
(Das ist heute, zum späteren Nachschlagen.ich habe Epoch Converter – Unix-Zeitstempelkonverter um mir die Unix-Zeit für heute zu geben: 1445432452 )
Das Hinzufügen von 1jan1970 funktioniert, weil die Unix-Zeit für 1jan1970 Null ist.Und weil JMP und Unix beide in Sekunden zählen.
Seien Sie vorsichtig, ich habe einige Diskussionen darüber gesehen, wann die Unix-Epoche wirklich begann: Unix-Zeit – Wikipedia, die freie Enzyklopädie sagt
The first edition Unix Programmer's Manual dated 3 November 1971 defines the Unix time as "the time since 00:00:00, 1 January 1971, measured in sixtieths of a second".[5]The User Manual also commented that "the chronologically-minded user will note that 232 sixtieths of a second is only about 2.5 years". Because of this limited range, the epoch was redefined more than once,[citation needed] before the rate was changed to 1 Hz and the epoch was set to its present value of 1 January 1970 00:00:00 UTC. This yielded a range of about 136 years, though with more than half the range in the past (see discussion of signedness above).