python两个日期差了多少天

Python08

python两个日期差了多少天,第1张

import datetime#首行输入,导入模块

date1=datetime.date(year,month,day)#这里面year,month,day是代表年,月,日,年必须写成2021这种格式,都必须写成数字

date2=datetime.date(year,month,day)#同上,这个是第二个日期(后面的),上面的是第一个日期(前面的)

delta=date2-date1#这是两个日期相减,是一个时间差对象

diffdays=delta.total_seconds()//86400#差的秒数除以86400即可

print(diffdays)#打印差的天数

import pandas as pd

方法一:

先利用to_datetime转换为时间格式,tm列的数据形式为'yyyy-MM-dd HH:mm:ss'

df['tm_1'] = pd.to_datetime(df['tm_1'])

df['tm_2'] = pd.to_datetime(df['tm_2'])

利用".dt.seconds"转换为秒,除以相对于的间隔数得到分钟、小时等

df['diff_time'] = (df['tm_1'] - df['tm_2']).dt.seconds/3600

利用round函数可进行四舍五入

df['diff_time'] = round(df['diff_time'])

方法二,日期相减变为小时;变为天的话将h替换为D即可:

df['diff_time'] = (df['tm_1'] - df['tm_2']).values/np.timedelta64(1, 'h')

python时间模块time,日期模块datetime,格式化用strftime()

>>>import datetime

>>>help(datetime)查看2009年5月31日和2009年2月1日间隔多少天

>>>d1=datetime.date(2009,05,31)

>>>d2=datetime.date(2009,02,01)

>>>d1-d2

datetime.timedelta(119) // 可以看出2009年5月31日和2009年2月1日间隔为119天[luther.gliethttp].