Hallo,
ich habe zwei Variable v1 (Uhrzeit, wann zu Bett gegangen wird)) und v2 (Uhrzeit, wann aufgestanden wird). Das Format ist hh:mm.
Mit DATEDIFF(v1,v2, hours) soll nun die Bettliegezeit berechnet werden. Das funktioniert bei manchen Werten ganz gut, bei manchen aber nicht. Wenn es nicht funktioniert, dann dass die "falschen" Werte in Zusammenhang gesetzt werden (am nächsten Tag treten ja wieder die "gleichen" Uhrzeiten auf.
Ein Beispiel, wo es funktionrt:
ABS(DATEDIFF(1:00,8:00, hours)) gibt den Wert "07:00" zurück (=korrekt).
Ein Beispiel wo es nicht funktioniert:
ABS(DATEDIFF(21:00,6:00, hours)) gibt den Wert "15:00" zurück (=falsch).
Der Fehler entsteht beim zweiten Beispiel anscheinend dadurch, dass SPSS nicht weiß, dass die 6:00 Uhr am nächsten Tag gemeint sind und nicht die 6:00 Uhr am gleichen Tag.
Wenn man ABS() weglässt ist das Problem auch nicht gelöst, es entstehen bei manchen Werten dann halt zusätzliche Minuszeichen.
Eine mögliche Lösung ist mir gerade beim Schreiben dieses Textes eingefallen: Man müsste SPSS klarmachen, an welchem Tag die Uhrzeit ist, z.B. in dem man die Werte so eingibt: dd:mm:yyyy:hh:mm. Das ist dann halt nur ziemlich umständlich, gibt es nicht eine einfachere Lösung? Und bei der jetzigen Lösung ist vielleicht noch dieses Problem: Zu welchem Tag gehört die Uhrzeit 0:00? (Evtl. müsste man dann jeweils fälschlicherweise 23:59 oder 0:01 eingeben, dass SPSS kapiert welcher Tag gemeint ist?).
Kennt jemand noch einen einfacheren / besseren Lösungsweg? Oder sogar eine andere Funktion, die hier besser passt? Habe es auch mit einfacher Subtraktion probiert, das hat aber auch nicht funktioniert.
Besten Dank und Grüße
Miner