为什么timedeltas不能被分割? [英] Why can't timedeltas be divided?

查看:55
本文介绍了为什么timedeltas不能被分割?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我尝试写下这样的话:


num_weeks = time_diff / datetime.timedelta(days = 7)


我得到:


TypeError:/:''datetime.timedelta'不支持的操作数类型''

和''datetime.timedelta''


当然,可以扩展timedelta类来实现分工,


def _microseconds(个体经营):

返回(自我) .days * 86400 + self.seconds)* 1000000 +

self.microseconds

def __truediv __(self,other):

if isinstance(其他,datetime.timedelta):

返回self._microseconds()/ other._microseconds()

else:

return datetime.timedelta( 0,0,self._microseconds()/

其他)

def __floordiv __(自我,其他):

if isinstance(其他,日期时间) .timedelta):

返回self._microseconds()// other._microseconds()

返回NotImplemented


但为什么是一个基本的算术操作标准

日期时间模块中缺少什么?

If I try to write something like:

num_weeks = time_diff / datetime.timedelta(days=7)

I get:

TypeError: unsupported operand type(s) for /: ''datetime.timedelta''
and ''datetime.timedelta''

Of course, one could extend the timedelta class to implement division,

def _microseconds(self):
return (self.days * 86400 + self.seconds) * 1000000 +
self.microseconds
def __truediv__(self, other):
if isinstance(other, datetime.timedelta):
return self._microseconds() / other._microseconds()
else:
return datetime.timedelta(0, 0, self._microseconds() /
other)
def __floordiv__(self, other):
if isinstance(other, datetime.timedelta):
return self._microseconds() // other._microseconds()
return NotImplemented

but why is a basic arithmetic operation missing from the standard
datetime module?

推荐答案

Le Jeudi 25 Mai 2006 00:07, Dan Bishopaécrit*:
Le Jeudi 25 Mai 2006 00:07, Dan Bishop a écrit*:
如果我尝试写类似的东西:

* * num_weeks = time_diff / datetime.timedelta(days = 7)
If I try to write something like:

* * num_weeks = time_diff / datetime.timedelta(days=7)




因为它没有意义,你想要的是:


num_weeks = time_diff.days / 7



num_weeks =(time_diff / 7).days

-

_____________


Maric Michaud

_____________


亚里士多德 - www。 aristote.info

3 place des tapis

69004里昂

电话:+33 426 880 097



because it has no meaning, what you want is :

num_weeks = time_diff.days / 7
or
num_weeks = (time_diff / 7).days
--
_____________

Maric Michaud
_____________

Aristote - www.aristote.info
3 place des tapis
69004 Lyon
Tel: +33 426 880 097


On 25/05/2006 8:25 AM,Maric Michaud写道:
On 25/05/2006 8:25 AM, Maric Michaud wrote:
Le Jeudi 25 Mai 2006 00:07,Dan Bishopaécrit:
Le Jeudi 25 Mai 2006 00:07, Dan Bishop a écrit :
如果我试着写s类似于:

num_weeks = time_diff / datetime.timedelta(days = 7)
If I try to write something like:

num_weeks = time_diff / datetime.timedelta(days=7)



因为它没有任何意义,你想要的是:

num_weeks = time_diff.days / 7

num_weeks =(time_diff / 7).days



because it has no meaning, what you want is :

num_weeks = time_diff.days / 7
or
num_weeks = (time_diff / 7).days




两个持续时间的比例没有意义???



The ratio of two durations has no meaning???


On 25/05/2006 8:25 AM,Maric Michaud写道:
On 25/05/2006 8:25 AM, Maric Michaud wrote:
Le Jeudi 25 Mai 2006 00:07,Dan Bishopaécrit:
Le Jeudi 25 Mai 2006 00:07, Dan Bishop a écrit :
如果我尝试写类似的东西:

num_weeks = time_diff / datetime.timedelta(days = 7)
If I try to write something like:

num_weeks = time_diff / datetime.timedelta(days=7)



因为它没有任何意义,你想要的是:

num_weeks = time_diff.days / 7

num_weeks =(time_diff / 7).days



because it has no meaning, what you want is :

num_weeks = time_diff.days / 7
or
num_weeks = (time_diff / 7).days




两个持续时间的比例没有意义???



The ratio of two durations has no meaning???

这篇关于为什么timedeltas不能被分割?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆