两个日期之间的日期和时间增量

Date and Time Delta between two Dates

我有一个如下所示的 table 结构来完成针对 name 的任务,我想为每个名称区分 End_Time 和 Start_time 之间的差异。谁能建议时间如何用 python 代码做到这一点。

start_time  End_Time  Name
2018-08-05T00:15:00+05:30  2018-08-05T00:17:00+05:30  UM6217
2018-08-05T00:15:00+05:30  2018-08-05T00:19:00+05:30  UM28402
2018-08-05T00:15:00+05:30  2018-08-05T00:18:00+05:30  UM27746
2018-08-05T00:15:00+05:30  2018-08-05T00:16:00+05:30  UM34802

时差。我正在使用 pandas 数据框来处理此数据

您需要将您的时间转换为 pandas.datetime 个对象,然后简单地减去两者。

df[['start_time', 'End_Time']] = df[['start_time', 'End_Time']].apply(lambda x: pd.to_datetime(x.str.split('+').str[0]))
df['diff'] = (df.End_Time - df.start_time).dt.total_seconds().div(60).astype(int) #minutes

输出:

           start_time            End_Time     Name  diff
0 2018-08-05 00:15:00 2018-08-05 00:17:00   UM6217     2
1 2018-08-05 00:15:00 2018-08-05 00:19:00  UM28402     4
2 2018-08-05 00:15:00 2018-08-05 00:18:00  UM27746     3
3 2018-08-05 00:15:00 2018-08-05 00:16:00  UM34802     1

另一种解决方案也可以这样。

df['start_time'] = pd.to_datetime(df['start_time'])
df['End_time'] = pd.to_datetime(df['End_time'])

df['DifferenceInMinutes'] = (df['End_time'].sub(df['start_time'], axis = 0)) / np.timedelta64(1, 'm')