0

首先,我是 SPSS 建模器的新手,很抱歉,如果我的问题对专家来说听起来太明显了,但我正在尝试计算(小时)中两个日期值(到达日期、出发日期)之间的日期差异,我用这个函数time_hours_difference,如果Arrive_Dateleave_date是同一天,这个函数可以正常工作,但是如果天数不同,则日期差为负值,我搜索并启用了这个选项:在流属性中滚动天数/分钟,但是问题依旧。我希望你能帮助我解决这个初学者的问题。

谢谢

4

1 回答 1

2

希望还不算太晚。您得到的是负值,因为 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)   
于 2018-01-30T12:54:26.163 回答