SPSS:如何计算两个时间点之间的持续时间(没有完整日期信息)

时间:2016-05-02 08:39:05

标签: datetime spss

在我的一项研究中,参与者给了我时间

  1. 通常上床睡觉(<睡觉时间)和
  2. 通常从床上起床(outofbed)(格式为hh:mm)。
  3. 我现在想要计算一个新变量,表明这两个时间点之间的持续时间。

    我已经使用了SPPS的内置TimeWizard和函数newVar = CTIME.HOURS(outofbed-bedtime)。这对于24.00之前的就寝时间没有给出正确的结果(例如23.00-7.00 = 16h,而不是8h)。

    我彻底使用了我的googlefoo技能,但我发现的所有答案都使用了日期和时间的信息(例如dd:mm:hh:mm)。我预计问题是SPSS在内部将所有日期时间信息保存为格里历日历开始后的秒数。由于我缺少日期信息,因此SPSS没有可以计算的绝对值。至少,到目前为止,这是我的假设。

    我希望你知道我的问题的解决方案。 干杯,Dekay

1 个答案:

答案 0 :(得分:0)

好吧,你可以计算24 - CTIME.HOURS(bedtime - outofbed) - 这可以解释为计算清醒时间然后从24小时减去。

你需要注意那些有不同日程安排的人,比如夜班人员。下面的逻辑应该解决这个问题,假设那些时间安排的人总是在白天晚些时候起床而不是睡觉。

DATA LIST FREE / outofbed bedtime (2TIME5).
BEGIN DATA
08:00 22:00
06:00 21:00
05:30 20:30
21:45 07:00
END DATA.

DO IF outofbed < bedtime.
  COMPUTE sleepDur = 24 - CTIME.HOURS(bedtime-outofbed).
ELSE.
  COMPUTE sleepDur = CTIME.HOURS(outofbed-bedtime).
END IF.
EXECUTE.