python中两天之间的日期差(从JAVA代码迁移)

python中两天之间的日期差(从JAVA代码迁移),java,python,date,migration,Java,Python,Date,Migration,我有一个JAVA代码: 公共类功能1{ public long daysBetween(LocalDateTime dt1, LocalDateTime dt2) { return timeDiffInGivenUnits(dt1, dt2, ChronoUnit.DAYS) ; } public long weeksBetween(LocalDateTime dt1, LocalDateTime dt2) { return timeDiffInGivenUnits(dt

我有一个JAVA代码:

公共类功能1{

public long daysBetween(LocalDateTime dt1, LocalDateTime dt2) {
   
    return timeDiffInGivenUnits(dt1, dt2, ChronoUnit.DAYS) ;
}
public long weeksBetween(LocalDateTime dt1, LocalDateTime dt2) {
    return timeDiffInGivenUnits(dt1, dt2, ChronoUnit.WEEKS) ;
}
public long monthsBetween(LocalDateTime dt1, LocalDateTime dt2) {
    return timeDiffInGivenUnits(dt1, dt2, ChronoUnit.MONTHS) ;
}
public long yearsBetween(LocalDateTime dt1, LocalDateTime dt2) {
    return timeDiffInGivenUnits(dt1, dt2, ChronoUnit.YEARS) ;
}
private long timeDiffInGivenUnits(LocalDateTime dt1, LocalDateTime dt2, ChronoUnit unit) {
    long daysBetween = 0l ;
  
    return daysBetween ;
}
}


这个函数的python代码是什么?

根据您添加的答案,您可以将函数组合为通用单元,如下面的第五个函数

类功能:
定义之间的天数(self,d1:datetime,d2:datetime):
r=相对误差。相对误差(d1,d2)
返回r天
定义两周之间的时间(self,d1:datetime,d2:datetime):
r=相对误差。相对误差(d1,d2)
返回r.weeks
定义两个月之间的时间(self,d1:datetime,d2:datetime):
r=相对误差。相对误差(d1,d2)
返回r月
定义时间间隔(self,d1:datetime,d2:datetime):
r=相对误差。相对误差(d1,d2)
回归年
def单位之间(self,d1:datetime,d2:datetime,单位):
如果单位=“天”:
返回自我(d1、d2)之间的天数
elif单位==“周”:
返回自我。两周之间(d1、d2)
elif单位==“月”:
返回自我。两个月之间(d1、d2)
elif单位==“年”:
返回自我。介于(d1、d2)之间的年数
其他:
一无所获

到目前为止您尝试了什么?从datetime导入datetime from dateutil导入relativedelta date1=datetime.strTime(str('2011-08-15 12:00:00'),'%Y-%m-%d%H:%m:%S')date2=datetime.strTime(str('2012-02-15'),'%Y-%m-%d')r=relativedelta.relativedelta(date2,date1)r.month或r.years或r.days等,但我想这样做,我们将日期1和日期2作为输入,并将第一个单独的函数传递给日、周、月等,并将一个通用函数传递给用户传递的任何输入(日、周、年)?