INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

TimeStamp



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.01.2008, 11:24
Beitrag #1

LabieQuintus Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Dec 2005

LabView 8.5
2006
de

69168
Deutschland
TimeStamp
hi,

ich hab folgendes Problem:

ich hab ein 2D String Array. In der ersten ersten Spalte steht ein Zeitstempel im String format, dahinter stehen noch andere Informationen.
Ich möchte das Array nach diesem Datum sortieren, dafür will ich den DateTime String in einen Zeitstempel und danach in eine Gleitkomma Zahl
convertieren damit ich über die Wertigkeit der conv. Zahl richtig sortieren kann. Leider bekomme ich keine vollständige Gleitkommazahl, sondern
einen Wert der wie folgt aussieht: 3,27938E+9 und wenn ich diesen wieder zurück convertiere bekomm ich ein falsches Datum.

Im grunde will ich nur wissen wie ich den Zeitstempel String ins Datumsformat und dannach in ne vollständige Gleitkommazahl convertiere und anschliessend
wieder zurück zu nem String Zeitstempel.

Bitte helft mir.

ciaole
Quintus

P.S benutze LabVIEW8.5

Die Starken Taten was sie konnten, die Schwachen litten was Sie mussten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.01.2008, 12:07
Beitrag #2

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
TimeStamp
hi

also zur umwandlung siehe bild 1
du musst den format string noch an dein datums format anpassen ...
in meinem beispiel issses YYYY-MM-DD und die zeit einfach dahinter im format HH:MMConfusedS


bild1:
   

zum sortieren einfach erst das datum umwandeln wie oben beschrieben .. dann als erstes element als cluster bundeln .. als zweites element eine Zeile aus dem 2D arraydas ganze in einer for schleife ... nach der schleife einfach mit "Sort 1D Array" das ganze sortieren ... danach eine zweite for scheife in der du mittels unbundel die array zeile wieder von der timestamp trennst und am ende wieder ein 2D Array erhgälst welches dann sortiert ist ... siehe bild .....

   


ich das hilft dir ...

Toaran
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2008, 12:09
Beitrag #3

Achim Offline
*****
*****


Beiträge: 4.223
Registriert seit: Nov 2005

20xx
2000
EN

978xx
Deutschland
TimeStamp
' schrieb:dafür will ich den DateTime String in einen Zeitstempel und danach in eine Gleitkomma Zahl
convertieren damit ich über die Wertigkeit der conv. Zahl richtig sortieren kann. Leider bekomme ich keine vollständige Gleitkommazahl, sondern
einen Wert der wie folgt aussieht: 3,27938E+9 und wenn ich diesen wieder zurück convertiere bekomm ich ein falsches Datum.

Interessant wär zu wissen, was du bisher machst...

Es gibt einen Thread, der ist nur ein paar Tage alt, da wird gezeigt wie der TimeDate-String in einen TimeStamp gewandelt wird...weiß grad aber nicht wo. Den Timestamp kannst du dann einfach mit einer der "numeric conversion"-Funktionen (z.b. "to DBL") in eine "richtige Zahl" umwandeln

"Is there some mightier sage, of whom we have yet to learn?"

"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2008, 12:35
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
TimeStamp
Ich nehme mal an, dass Achim die folgenden Antworten/Threads meint:

http://www.LabVIEWforum.de/index.php?showtopic=8327
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=43500
Und hier noch der Link zur Konkurrenz:
http://forums.lavag.org/Read-data-from-spr...0538#entry40538

Ansonsten kann ich mir Achim nur anschließen.

MfG, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2008, 15:24 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2008 18:11 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
TimeStamp
Zeitstring zu Zeitstempel (Den Formatstring mußt Du selbst anpassen, und die ms bei der Zeitstempel-Anzeige lassen sich unterdrücken):
   
Zeitstempel zu Double und zurück (mit kleinem Fehler, ein Tag hat 86400s und nicht 84600s)
   
Aber es geht auch beliebig viel umständlicher, wenn man die Funktionen die LV dafür bietet verschmäht...

@Achim "z.B double": Meines Wissen nach kann man einen Zeitstempel nur zu double konvertieren (oder vielleicht auch zu extented ?) , aber nicht zu anderen Zahlenformaten.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2008, 03:49 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2008 03:50 von rolfk.)
Beitrag #6

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
TimeStamp
' schrieb:Zeitstring zu Zeitstempel (Den Formatstring mußt Du selbst anpassen, und die ms bei der Zeitstempel-Anzeige lassen sich unterdrücken):
[attachment=37886:ZeitStri...tstempel.png]
Zeitstempel zu Double und zurück (mit kleinem Fehler, ein Tag hat 86400s und nicht 84600s)
[attachment=37887:Zeitproblem.png]
Aber es geht auch beliebig viel umständlicher, wenn man die Funktionen die LV dafür bietet verschmäht...

@Achim "z.B double": Meines Wissen nach kann man einen Zeitstempel nur zu double konvertieren (oder vielleicht auch zu extented ?) , aber nicht zu anderen Zahlenformaten.

Nun single geht auch aber dann verlierst Du sehr viel Genauigkeit. Die Auflösung ist dann für einen aktuellen Zeitstempel weit grösser als einen Sekunde. unsigned int32 geht auch, dann hast Du natürlich keine fraktionellen Sekunden und der unsigned int32 läuft irgendwann mal in 2038 oder so über.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.01.2008, 08:30 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2008 09:05 von Lucki.)
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
TimeStamp
' schrieb:Nun single geht auch aber dann verlierst Du sehr viel Genauigkeit. Die Auflösung ist dann für einen aktuellen Zeitstempel weit grösser als einen Sekunde. unsigned int32 geht auch, dann hast Du natürlich keine fraktionellen Sekunden und der unsigned int32 läuft irgendwann mal in 2038 oder so über.
Das ist 1x richtig und 1x falsch. Allerdings kann man mit doppelter Konvertierung (s. Beispiel links unten) einen Zeitstempel zu jedem Zahlenformat hin vergewaltigen. Lv82_img

   

Das ist aber alles eine eher praxisferne Diskussion (- die ich zugegebenermaßen angestoßen habe -), denn die interne Darstellung eines Zeitstempels ist double, und ich sehe keinen vernünftigen Grund, einen Zeitstempel in ein anderes als dies Format zu konvertieren.
In vielen Fällen ist eine Konvertierung sogar überflüssig, man kann den Zeitstring so verwenden, als sei das Format DBL. Um zarte Gemüter nicht zu verwirren, habe ich in dem Beitrag weiter oben Konvertierungen verwendet, die eigentlich gar nicht nötig sind. So funktioniert es auch:
   
Man beachte, daß am Additionssymbol nicht einmal Konvertierungspunkte vorhanden sind! Der Zeitstempel verhält sich (hier, aber noch immer,) exakt wie das Format DBL.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.01.2008, 08:51 (Dieser Beitrag wurde zuletzt bearbeitet: 28.01.2008 09:00 von rolfk.)
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
TimeStamp
' schrieb:Das ist 1x richtig und 1x falsch. Allerdings kann man mit doppelter Konvertierung (s. Beispiel links unten) einen Zeitstempel zu jedem Zahlenformat hin vergewaltigen.

[attachment=37890:Zeitstem...rtierung.png]
Was ist denn da 1x falsch? Stimmt Du kannst es nicht direkt konvertieren, aber davon war auch nie die Rede. Rolleyes

Zitat:Das ist aber alles eine eher praxisferne Diskussion (- die ich zugegebenermaßen angestoßen habe -), denn die interne Darstellung eines Zeitstempels ist double, und ich sehe keinen vernünftigen Grund, einen Zeitstempel in ein anderes als dies Format zu konvertieren.
In vielen Fällen ist eine Konvertierung sogar überflüssig, man kann den Zeitstring so verwenden, als sei das Format DBL. Um zarte Gemüter nicht zu verwirren, habe ich in dem Beitrag weiter oben Konvertierungen verwendet, die eigentlich gar nicht nötig sind. So funktioniert es auch:
[attachment=37891:Zeit_Tage.png]
Man beachte, daß am Additionssymbol nicht einmal Konvertierungspunkte vorhanden sind! Der Zeitstempel verhält sich (hier, aber noch immer,) exakt wie das Format DBL.

Nein, die interne Darstellung eines Zeitstempels in LabVIEW war ein Double in Version < 7.0 (und ein vorzeichenloser 32 Bit Integer vor 4.0 oder so). Seit 7.0 ist es ein fixed floating Point Value, mit einem 64 Bit vorzeichenbehaftetem Integer für die Sekunden und einem 64 Bit vorzeichenlosen Integer für die Sekundenbruchteile. Allerdings wurden vor 8.0 nur die ersten 32 Bit des Sekundenbruchteils verwendet!

Wer das ja möchte kann mal berechenen was für ein Zeitraum damit abgedeckt werden kann. Nur soviel, das ist mehr dann die moderne Physik dem Universum zutraut, sowohl im Makro als im Mikrobereich.

Und zu Deinem letzten Beispiel: Versuch das nicht mit zwei Zeitstempeln! Glare
LabVIEW ist da sehr intelligent. Ein Zeitstempel ist ein absoluter Zeitpunkt, eine Double Zahl wird im Falle von Zeit als relative Zeit behandelt.

absolut + absolut => Fehler
absolut +/- relativ => geht, Zeitstempel, absolutes Zeit
absolut - absolut => geht, Double, relative Zeit

Multiplikation/Division geht nicht mit Zeitstempeln. Was ist das doppelte vom heutigen Tag? Dry

Da hat jemand ziemlich gut nachgedacht!

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2016, 08:06
Beitrag #9

TDO Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 125
Registriert seit: Oct 2013

2016
2009
DE


Deutschland
RE: TimeStamp
Hallo,

ich möchte das Thema nochmal kurz aufgreifen.
Ich habe ebenfalls ein 2D-Array of String.
In der zweiten Spalte steht ein Datum z.B. 09.03.2016. Ich möchte die Zeilen jetzt nach diesem Datum sortieren.
Gibt es dafür auch noch eine andere Möglichkeit (evtl. einfachere), als diesen Datumsstring zunächst in eine Zahl zu konviertieren, das ganze zu sortieren und dann wieder in ein Datum umzuwandeln?

Gruß
TDO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.03.2016, 08:38 (Dieser Beitrag wurde zuletzt bearbeitet: 09.03.2016 08:39 von GerdW.)
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: TimeStamp
Hallo TDO,

wenn dein Datumsstring das Format "YYYYMMDD" hätte, könntest du dein Array auch alphabetisch sortieren lassen.
Wenn das Datumsformat dagegen "DD.MM.YYYY" lautet, musst du wohl oder übel erst einmal umwandeln: entweder durch umwandeln in eine Zahl oder durch Umsortieren der Zeichen…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Timestamp umrechnen Keithley2000 1 3.687 12.08.2020 09:09
Letzter Beitrag: GerdW
  GPS Timestamp mathlan86 3 4.512 16.12.2015 15:29
Letzter Beitrag: GerdW
  DBL nach TimeStamp che-salih 11 11.889 04.12.2013 16:11
Letzter Beitrag: che-salih
  Timestamp to number of days gottfried 4 5.202 21.06.2012 09:37
Letzter Beitrag: gottfried
  Timestamp minus 2 Monate OFET 8 9.081 01.09.2009 08:02
Letzter Beitrag: Lucki
  problem mit timestamp control D3nnis.C 10 8.570 22.02.2008 13:32
Letzter Beitrag: Achim

Gehe zu: