簡體   English   中英

從日期時間字段中減去整數值

[英]substract integer value from datetime field

我想從datetime字段中減去一個整數值。 這里date_joineddatetime字段,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()

采用:

date_joined - (datetime.timedelta(365) * age)

date_joined減去age

請注意,這是一個很好的快捷解決方案,但不是很可靠。 考慮以下輸出:

>>> datetime.datetime(2013, 12, 12) - datetime.timedelta(365) * 15
datetime.datetime(1998, 12, 16, 0, 0)

如您所見,由於leap年(實際上有366天的年份),結果是我們實際想要的日期之后的4天。 一個更強大的解決方案是:

date_joined.replace(year = date_joined.year - age)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM