下面的代码应该在上周五16:00:00返回。但它返回Friday of previous week。怎么解决?
now = datetime.datetime.now()
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4, weeks=-1))
test = test.replace(hour=16,minute=0,second=0,microsecond=0)
升级版。我现在用下面的方法-这是最好的方法吗?
now = datetime.datetime.now()
if datetime.datetime.now().weekday() > 4:
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4))
else:
test = (now - datetime.timedelta(days=now.weekday()) + timedelta(days=4, weeks=-1))
test = test.replace(hour=16,minute=0,second=0,microsecond=0)
升级版2。举个例子。假设今天是2012年10月5日。如果当前时间等于或小于16:00则应返回2012年9月28日,否则-2012年10月5日。
这是从乔恩·克莱门茨那里借来的,但这是一个完整的解决方案:
^{} library 非常适合这样的事情:
在链接的问题中,您需要使用
datetime.date
对象,而不是datetime.datetime
。要最终获得datetime.datetime
,可以使用datetime.datetime.combine()
:相关问题 更多 >
编程相关推荐