首先,我是 SPSS 建模器的新手,很抱歉,如果我的问题对专家来说听起来太明显了,但我正在尝试计算(小时)中两个日期值(到达日期、出发日期)之间的日期差异,我用这个函数time_hours_difference,如果Arrive_Date和leave_date是同一天,这个函数可以正常工作,但是如果天数不同,则日期差为负值,我搜索并启用了这个选项:在流属性中滚动天数/分钟,但是问题依旧。我希望你能帮助我解决这个初学者的问题。
谢谢
首先,我是 SPSS 建模器的新手,很抱歉,如果我的问题对专家来说听起来太明显了,但我正在尝试计算(小时)中两个日期值(到达日期、出发日期)之间的日期差异,我用这个函数time_hours_difference,如果Arrive_Date和leave_date是同一天,这个函数可以正常工作,但是如果天数不同,则日期差为负值,我搜索并启用了这个选项:在流属性中滚动天数/分钟,但是问题依旧。我希望你能帮助我解决这个初学者的问题。
谢谢
希望还不算太晚。您得到的是负值,因为 time_hours_difference 仅从两个指定的时间戳中提取时间并计算其中的差异。它不考虑日期值。例如:
time_hours_difference('2012-08-02 14:10:50,2012-08-05 13:36:26)
输出:
-0.573
请记住,时间格式“HHMM”下的 time_in_hours('0130') 计算结果为 1.5。
这是我的解决方案:为了考虑天数,首先提取 date_days_difference 并将其乘以 24 以将其带入 Hours,然后使用 time_hours_difference 将其与时差相加。
date_days_difference(arrive_Date,Depart_Date)*24 +
time_hours_difference(arrive_Date,(to_string(datetime_date(arrive_Date)) >< " 23:59:00")) +
time_hours_difference((to_string(datetime_date(Depart_Date)) >< " 00:00:00"),Depart_Date)