到达与离开之间的差异

时间:2020-02-10 15:39:51

标签: python dataframe date datetime time

departure_day        departure_time            arrival_day        arrival_time  
1                    00:00:00                  3                  01:00:00   
1                    10:00:00                  1                  02:00:00   
6                    15:00:00                  1                  06:00:00  

我想有一个变量,它们之间有区别。 1是星期一,7是星期日。另外,有时像最后一种情况一样从6变为1。

我想将其最终转换为小时和几天。 到目前为止,我已经将它们也转换为DateTime变量,但目前我很挣扎。关于如何前进的任何提示?

Example output:
difference (in hours)
49
14
39

1 个答案:

答案 0 :(得分:0)

请在下面找到此代码段:

def day(departure, arrival, dep_time, arr_time):
    if departure<=arrival and dep_time<arr_time:
        total_hours=abs(hours(dep_time,arr_time).hours)+ (arrival- 
        departure)*24
    elif dep_time>arr_time and departure==arrival-1:
        total_hours=24+(hours(dep_time,arr_time).hours)
    elif dep_time<arr_time and departure!=arrival-1:
        total_hours=abs(hours(dep_time,arr_time).hours)+ (7+arrival- 
        departure)*24
    elif dep_time>arr_time and departure!=arrival-1:
        total_hours=24+(hours(dep_time,arr_time).hours)+ (6+arrival- 
        departure)*24
    return total_hours

def hours(dep_time,arr_time):
    arr=datetime.strptime(arr_time, FMT)
    dep=datetime.strptime(dep_time, FMT)
    diff = relativedelta(arr, dep)
    return diff

注意:我认为您的第二行不正确。请检查。