我想从datetime
字段中减去一个整数值。此处date_joined
是datetime
字段,age是整数字段。
views.py
def index(request):
profiles = profiles.objects.all()
for profile in profiles:
age = person.age
date_joined = person.date_joined
date_of_birth = date_joined - age
p = date_of_birth(date_of_birth = date_of_birth,activated = 1)
p.save()
models.py
class profiles(models.Model):
date_joined = models.DateTimeField (max_length=1)
age = models.IntegerField()
答案 0 :(得分:1)
使用:
date_joined - (datetime.timedelta(365) * age)
从age
中减去date_joined
年。
请注意,这是一个很好的快速解决方案,但不是很强大。请考虑以下输出:
>>> datetime.datetime(2013, 12, 12) - datetime.timedelta(365) * 15
datetime.datetime(1998, 12, 16, 0, 0)
正如您所看到的,由于闰年(实际上有366天的年数),结果是我们实际想要的日期后4天。一个更强大的解决方案是:
date_joined.replace(year = date_joined.year - age)